計算1!+2!+3!+…+10!
再帰的でない方法:
再帰方式:
#include
int factorial(int n)
{
int i;
int count = 1;
for(i = 1; i <= n; i++)
{
count = count * i;
}
return count;
}
int sum(int n)
{
int m = 0;
int i;
for(i = 1; i <= n; i++)
{
m = m + factorial(i);
}
return m;
}
int main()
{
int n = 10;
printf("%d
", sum(n));
return 0;
}
// :4037913
再帰方式:
#include
int factorial(int n)
{
int i;
int count = 1;
for(i = 1; i <= n; i++)
{
count = count * i;
}
return count;
}
int sum(int n)
{
if(n == 1)
return 1;
else
return factorial(n) + sum(n - 1);
}
int main()
{
int n = 10;
printf("%d
", sum(n));
return 0;
}
// :4037913