1到20阶乘的和用c语言表达

Python015

1到20阶乘的和用c语言表达,第1张

#include <stdio.h>

long jiecheng(int x)

{

long int i,k=1

for(i=1i<=xi++)

k=k*i

return k

}

int main()

{

long int j,k=0

int i

for(i=1i<=20i++)

{

j=jiecheng(i)

k+=j

}

printf("%ld\n",k)

}

扩展资料

使用其他方法实现求1到20阶乘的和:

public class Main{

public static void main(String[] args){

int i,j

int sum=0

int a=1

for(i=1i<=20i++){

for(j=1j<=ij++){

a*=j

}

sum+=a

}

System.out.print("sum=1!+2!+3!+...+20!="+sum)

}

}

/**

**程序描述:求求1~20的阶乘之和。

**算法思路:先求出每一项的阶乘值,然后将所有项的阶乘值相加。

*/

#include <stdio.h>

#define N 20

typedef unsigned long long uInt64  //自定义类型

//求出每一项阶乘值的函数

uInt64 fact(int n)

{

    int i

    uInt64 s

    for(i=s=1i<=ni++)

        s*=i   //从1开始循环累加相乘

    return s

}

 

int main()

{

    uInt64 s

    int i

    for(i=1,s=0i<=Ni++)

        s+=fact(i)     //从第1项开始循环累加每一项的阶乘值

    printf("1!+2!+3!+……+20!=%llu\n",s)

    return 0

}

亲测可用

long jiecheng(int x)

{

long int i,k=1

for(i=1i<=xi++)

k=k*i

return k

}

int main()

{

long int j,k=0

int i

for(i=1i<=20i++)

{

j=jiecheng(i)

k+=j\t

}

printf("%ld\n",k)

}

输出的结果是2561327494111820313

扩展资料:

一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。1808年,基斯顿·卡曼引进这个表示法。

亦即n!=1×2×3×...×n。阶乘亦可以递归方式定义:0!=1,n!=(n-1)!×n。

计算方法:

大于等于1:

任何大于等于1 的自然数n 阶乘表示方法:n! = 1×2×3×...×(n-1)n或n! = n×(n-1)!

0的阶乘:0!=1。

参考资料:百度百科——阶乘