例如求1!+2!+3!…10!等于多少?那我大佬可以为我解决一下。
#include <stdio.h>
int main ()
{
int i,j,n = 1,m = 1;
int sum = 0;
for(i=1; i<=10; i++)
{
for(j=1; j<=i; j++)
{
if(j==i)
{
n = m*j;
m = n;//记录当前阶乘的积
}
}
sum += n;
}
printf("the sum is %d\n",sum);
return 0;
}
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i = 0;
int ret = 1;
int sum = 0;
for (i = 1; i <= 10; i++)
{
ret *= i;//ret=ret*i
sum += ret;//sum=sum+ret
}
printf("sum = %d\n", sum);
system("pause");
return 0;
}
法一:循环实现
#include<stdio.h>
int main()
{
int n;
printf("请输入要求阶乘和的数:\n");
scanf("%d",&n);
int sum=0;
int cheng=1;
int i,j;
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
{
cheng*=j;
}
sum+=cheng;
cheng=1;
}
printf("%d的阶乘是%d",n,sum);
return 0;
}
法二:递归实现
#include<stdio.h>
int digui(int n);
int main()
{
int n;
printf("请输入要求阶乘和的数:\n");
scanf("%d",&n);
int i;
int sum=0;
for(i=1;i<=n;i++)
{
sum+=digui(i);
}
printf("%d的阶乘是%d",n,sum);
return 0;
}
int digui(int n)
{
if(n==1)
{
return 1;
}
else if(n>1)
{
return n*digui(n-1);
}
}
有帮助的话记得采纳一下哦!谢谢!
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i = 0;
int ret = 1;
int sum = 0;
for (i = 2; i <= 10; i++)
{
ret = i;//ret=reti
sum += ret;//sum=sum+ret
}
printf("sum = %d\n", sum);
system("pause");
return 0;
}