码迷,mamicode.com
首页 > 编程语言 > 详细

【C语言】递归实现。

时间:2015-05-10 17:21:26      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:


(一)厄密多项式Hn(x)的递归实现。

#include <stdio.h>
int hermite(int n,int x)
{

    if(n<=0)
    {
        return 1;
    }
    else if(n==1)
    {
        return 2*x;
    }
    else
    {
        return 2*x*hermite(n-1,x)-2*(n-1)*hermite(n-2,x);
    }
    return 0;
}
int main ()
{
    printf("%d\n",hermite(3,2));
    return 0;
}

(二)n的k次幂的递归实现。

#include <stdio.h>
#include <math.h>
double cimi(double n,double k)
{
    if(k==0)
    {
        return 1;
    }
    else if(k>0)
    {
        return cimi(n,k-1)*n;
    }
    else
    {
        return cimi(n,k+1)*pow(n,-1);
    }
    return 0;
}
int main ()
{
    printf("%f\n",cimi(2,-3));
    return 0;
}

(三)函数DigitSum(n)的递归实现

例如DigitSum(1729),对应返回1+7+2+9之和19。

#include <stdio.h>
int DigitSum(n)
{
    int sum = 0;
    int tmp = n/10;
    if(n != 0)
    {
        sum = DigitSum(tmp)+n%10;       
    }
    return sum;
}
int main ()
{
    printf("%d\n",DigitSum(1729));
    return 0;
}

if(n != 0)保证1729除10到最后得到的1能够进入if里求和。

【C语言】递归实现。

标签:

原文地址:http://blog.csdn.net/sulijuan66/article/details/45621841

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!