//求1!+2!+3!+.......20!
#include <stdio.h>
int main()
{
int i,j,sum = 0,k = 1,m;
for(i = 1;i <= 20;i++)
{
k = 1;
for(j = i;j > 0;j--)
{
k = j * k;
m = k;
}
sum = sum + m;
}
printf("%d",sum);
}
谭浩强C程序设计(第四版)p140第6题
说明:这种做法略显麻烦,用的变量也很多,每次都要算一次阶乘
下面的程序比较简洁
求1!+2!+3!+.......20!
#include <stdio.h>
int main()
{
int i,sum = 0,t = 1;
for(i = 1;i <= 20;i++)
{
t = t * i;
sum = sum + t;
}
printf("%d",sum);
}
说明:
这种做法会很简洁,找到了阶乘的规律,做这种题目的时候要注意观察数字之间的规律