题目:计算1!+2!+..........+n!
当然这道题不要用递归算法更好!
1、递归算法代码:
#include<stdio.h>
int plus1(int n)
{
if(n==1)
return 1;
else
return plus1(n-1)*n;
}
int plus2(int n)
{
if(n==1)
return 1;
else
return plus2(n-1)+plus1(n);
}
int main()
{
int n;
while(1)
{
scanf("%d",&n);
printf("%d\n",plus2(n));
}
return 0;
}
2、非递归方法的代码:
#include<stdio.h>
int main()
{
double i,a=1,s=0;
int n;
while(1)
{
scanf("%d",&n);
for(i=1;i<=n;i++)
{
a=a*i;
s+=a;
}
printf("a=%e\n",a);
}
return 0;
}