c语言:1到n的阶乘之和
3个回答
展开全部
最基础的思路,是逐个求阶乘,并累加。不过由于阶乘是从1乘到n,所以每个数都单独求一次阶乘,会有很多重复运算,影响效率。
所以更快捷的方式是,在上一个数的阶乘基础上,直接乘上本身,得到当前数的阶乘。
以此为主导,代码如下:
#include
<stdio.h>
int
main()
{
int
n,
i,
n1
=
1,s=0;
scanf("%d",&n);//输入n值。
for(i=1;
i
<=
n;
i
++)
{
n1*=i;//计算i的阶乘。
s+=n1;//累加。
}
printf("%d\n",
s);//输出结果。
}
所以更快捷的方式是,在上一个数的阶乘基础上,直接乘上本身,得到当前数的阶乘。
以此为主导,代码如下:
#include
<stdio.h>
int
main()
{
int
n,
i,
n1
=
1,s=0;
scanf("%d",&n);//输入n值。
for(i=1;
i
<=
n;
i
++)
{
n1*=i;//计算i的阶乘。
s+=n1;//累加。
}
printf("%d\n",
s);//输出结果。
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最基础的思路,是逐个求阶乘,并累加。不过由于阶乘是从1乘到n,所以每个数都单独求一次阶乘,会有很多重复运算,影响效率。
所以更快捷的方式是,在上一个数的阶乘基础上,直接乘上本身,得到当前数的阶乘。
以此为主导,代码如下:
#include
int main()
{
int n, i, n1 = 1,s=0;
scanf("%d",&n);//输入n值。
for(i=1; i <= n; i ++)
{
n1*=i;//计算i的阶乘。
s+=n1;//累加。
}
printf("%d\n", s);//输出结果。
}
所以更快捷的方式是,在上一个数的阶乘基础上,直接乘上本身,得到当前数的阶乘。
以此为主导,代码如下:
#include
int main()
{
int n, i, n1 = 1,s=0;
scanf("%d",&n);//输入n值。
for(i=1; i <= n; i ++)
{
n1*=i;//计算i的阶乘。
s+=n1;//累加。
}
printf("%d\n", s);//输出结果。
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询