#include <stdio.h>
//计算n!+(n-1)!+(n-2)!+…+2!+1!(n<12)
int test(int n)
{
int i = 0;
int x = 0;
long res = 0;
x=n;
for(i=1,res=1;i<n;i++)
{
res=res*x;
x= n-i;
}
return res;
}
int main()
{
int a = 0;//阶数为a
long b = 0;//结果为b
printf("计算n!+(n-1)!+(n-2)!+…+2!+1!\n");
for(;;)
{
printf("请输入n的阶数,n= ");
scanf("%d",&a);
for(b=0;a>0;a--)
{
b += test(a);
}
printf("计算结果为:%d\n",b);
}
return 0;
}
//计算10!+9!+……2!+1!
#include <stdio.h>
int main()
{
int n = 10;
int i = 0;
int res1 = 1;
int res = 0;
int x = 0;
for(res=0,i=0;n>0;n--)
{
x = n;
for(i=1;i<n;i++)
{
res1 *= x;
x=n-i;
}
res += res1;
res1 = 1;
}
printf("%d\n",res);
return 0;
}