c语言求1到n的阶乘的和

c语言求1到n的阶乘的和... c语言求1到n的阶乘的和 展开
 我来答
乐跑小子
2016-01-14 · TA获得超过1.5万个赞
知道大有可为答主
回答量:1.1万
采纳率:7%
帮助的人:4956万
展开全部
最基础的思路,是逐个求阶乘,并累加。不过由于阶乘是从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);//输出结果。
}
来自上清宫勤奋的玉蝶梅
2016-10-29 · TA获得超过1060个赞
知道小有建树答主
回答量:143
采纳率:0%
帮助的人:63.1万
展开全部

#include<stdio.h>
int jc(int n)
{
    int j=1,i,num=0;
    for(i=1;i<=n;)
    {
        j*=i;
        num+=j;
        i++;
    }
    return num;
}
int main()
{
    int n;
    printf("请输入n的值\n");
    scanf("%d",&n);
    n=jc(n);
    printf("1到n的阶乘的和为%d\n",n);
    return 0;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
suiyue_2009
2009-03-07 · TA获得超过846个赞
知道小有建树答主
回答量:1248
采纳率:0%
帮助的人:896万
展开全部
不是,可以用一个递归实现
#include <stdio.h>
int fun(int n)
{
if(n==1)
return 1;
else
return n*fun(n-1);
}

int main()
{
int n,sum=0;;
printf("请输入n:\n");
scanf("%d",&n);
for (int i=1;i<=n;i++)
{
sum+=fun(i);
}
printf("sum=%d\n",sum);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2009-03-07
展开全部
#include<conio.h>
#include<stdio.h>

void main()
{
int N;
int i,s=1,t=0;

printf("please input a number:\n");
scanf("%d",&N);
for(i=1;i<=N;i++)
{
s=s*i;
t=t+s;
}
printf("The number is :%d",t);
getch();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Net分享
2009-03-07
知道答主
回答量:22
采纳率:0%
帮助的人:0
展开全部
#include<stdio.h>
main()
{ int i, s, n;
pintf("请输入n:");
scanf("%d",n);
for(i=1;i<=n;i++)
s+=fun(n+(n-1));
printf("%d",s);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式