输入一个整数n(个位数)输出1!+2!+3!+……+n!

输入一个整数n(个位数)输出1!+2!+3!+……+n!... 输入一个整数n(个位数)输出1!+2!+3!+……+n! 展开
 我来答
cp3pul
推荐于2018-04-13 · TA获得超过1466个赞
知道小有建树答主
回答量:824
采纳率:92%
帮助的人:181万
展开全部

这个可以用递归计算阶乘的。

代码如下:

#include<stdio.h>
int main()
{
    int fun(int num);
    int n;
    scanf("%d",&n);
    int result =0;
    for(int i = 1;i<=n;i++)
    {
        result += fun(i)
    }
    printf("result = %d",result);
    return 0;
}
int fun(int n)
{
    if(n == 0 || n==1)
    {
        return 1;
    }
    else 
    {
        return n*fun(n-1);
    }
}

其实还有一个方法不用递归,时间复杂度也比上面那个方法要小。代码入下:

#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    int temp = 1;
    int result =0;
    for(int i = 1;i<=n;i++)
    {
        temp *= i;
        result +=temp;
    }
    printf("result = %d",result);
    return 0;
}
透彻又委婉的鱼丸02
2016-12-14 · TA获得超过190个赞
知道小有建树答主
回答量:1023
采纳率:14%
帮助的人:187万
展开全部
我写了一个c语言的! #include<stdio.h>
main()
{
int i,n,sum=1;
scanf("%d",&n);
for(i=1;i<=n;i++) //这里多了个分号..
sum*=i; //必须用另外一个变量来存储阶乘的结果.因为i是用来控制循环的.
printf("%d",sum);
getch();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
春误双卿
2016-12-14 · TA获得超过725个赞
知道小有建树答主
回答量:580
采纳率:91%
帮助的人:453万
展开全部
#include<iostream>
#include<stdio.h>
using namespace std;
int test(int n)
{
    if(n ==1)
        return n;
    else
        return n*test(n-1);
}
int main()
{
    int n=0;
    int sum=0;
    printf("请输入一个数字:");
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        sum += test(i);
    }
    printf("和为:%d\n",sum);
    system("pause");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式