用C语言求1~20的阶乘之和!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用C语言求1~20的阶乘之和!相关的知识,希望对你有一定的参考价值。

要求有过程,拜托高手解答!

/**
**程序描述:求求1~20的阶乘之和。
**算法思路:先求出每一项的阶乘值,然后将所有项的阶乘值相加。
*/
#include <stdio.h>
#define N 20
typedef unsigned long long uInt64;  //自定义类型
//求出每一项阶乘值的函数
uInt64 fact(int n)

    int i;
    uInt64 s;
    for(i=s=1;i<=n;i++)
        s*=i;   //从1开始循环累加相乘
    return s;

 
int main()

    uInt64 s;
    int i;
    for(i=1,s=0;i<=N;i++)
        s+=fact(i);     //从第1项开始循环累加每一项的阶乘值
    printf("1!+2!+3!+……+20!=%llu\\n",s);
    return 0;

参考技术A #include<stdio.h>void main()

int i;
double t=1,sum=0; //由于20的阶乘int和long int都放不下.所以用double.
for(i=1;i<=20;i++) //从1循环到20.

t = t * i; //计算1~20的阶乘.
sum = sum + t; //将1~20的阶乘累加到sum中.

printf("%.0f\n",sum); //输出sum.
参考技术B #include <stdio.h>
void main ()

unsigned long i=2;
unsigned long p=1;
unsigned long sum = 1;
int n = 20 ;

for(;i<=n;)

p=p*i;
i++;
sum+=p;
printf("%d\n",sum);
参考技术C

参考技术D 在一起就好了?你要我怎么做什么样的人是不是也是因为你们喜欢我们家小鲜肉们都是从这里走向世界杯足球赛决赛

C语言练习010:求1到10的阶乘之和

#include <stdio.h>

int factorial(int n)
{
    if(0==n) return 1;
    if(1==n) return 1;
    return n*factorial(n-1);
}

int main()
{
    int n=10;
    int sum=0;
    int i;
    for(i=1;i<=n;i++){
        int m=factorial(i);
        printf("%d->%d\\n",i,m);
    sum+=m;
    }
    printf("%d\\n",sum);
    return 0;
}

技术分享

以上是关于用C语言求1~20的阶乘之和!的主要内容,如果未能解决你的问题,请参考以下文章

c语言 1到20的阶乘之和

1到20的阶乘之和用C程序有点问题~哪为高手解决下

C语言求阶乘倒数之和

C语言,算1到20阶乘的和

用c语言编程,求从1的阶乘一直加到20的阶乘。

用C语言 从一的阶乘加到二十的阶乘