求这条c语言 1!+2!+3!+4!+。。。。。+20!的算法,不要整个代码,要思路

 我来答
tangrong2
2011-11-21 · TA获得超过768个赞
知道小有建树答主
回答量:540
采纳率:100%
帮助的人:305万
展开全部
result = 1
循环i从1到20
result += Factorial(i)

函数Factorial的伪代码如下:
Factorial(n)
{
product = 1;
循环i从n到1
product *= i;

返回product
}
注意:阶乘的值非常大,很容易就超出整数的精度范围。
sun_siliang
2011-11-21 · TA获得超过2.6万个赞
知道大有可为答主
回答量:9913
采纳率:100%
帮助的人:5536万
展开全部
double f=1,sum=0; //定义为double,防止溢出。
for(int i=1;i<=20;i++)
{
f*=i; //计算阶乘,第一次循环,f=1!,第二次循环,f=2!,其他同理。
sum+=f; //累加阶乘!
}
printf("sum=%lf\n",sum); //输出结果。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
梦游兰草
2011-11-21
知道答主
回答量:7
采纳率:0%
帮助的人:4.1万
展开全部
求和一般用循环,这又是有规律的求和,所以可使用for循环!对于和的每一项又是阶乘形式,一般在main函数外定义一个求阶乘函数最简单,根据阶乘的规律无疑使用递归最为方便!
总的来说,在main函数里用个for循环求和,另外使用一个调用函数来求阶乘!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
路通世界神通7134
2011-11-21 · TA获得超过5.8万个赞
知道大有可为答主
回答量:3.8万
采纳率:0%
帮助的人:5706万
展开全部
int sum1 = 0, sum = 1, i, j;
for(i = 1; i <= 20; ++i)
{
for(j = 1; j <= i; ++j)
{
sum = sum * j;
}
sum1 += sum;
}
可能是没试过
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式