(一)厄密多项式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里求和。
时间: 2024-11-05 22:44:15