求1!+2!+3!+...+20!,自定义函数fact在main函数中调用

如题所述

第1个回答  2010-01-16
public static void main(String[] args) {
private final static int MAX = 20;
int num=1;
int sum=0;
for(int i=1;i<=MAX;i++) {
num*=i;//算阶乘
sum+=num;//累加各数的阶乘
}
System.out.println(sum);//输出结果
}
第2个回答  2010-01-16
#include<iostream>
using namespace std;
const int MAX =20;
int main()
{
int num=1;
int sum=0;
for(int i=1;i<=MAX;i++)
{
num*=i;//算阶乘
sum+=num;//累加各数的阶乘
}
cout<<sum<<endl;
}
第3个回答  2010-01-16
#include<iostream>
using namespace std;
const int MAN =20;
int main()
{
int num=1,sum=0,i;
for(i=1;i<=MAN;i++)
{
num*=i;
sum+=num;
}
cout<<sum<<endl;
system("pause");
return 0;
}
第4个回答  2010-01-16
还是比较喜欢用递归
第5个回答  2010-01-16
long f(int n)
{ if (n==1) return 1;
else return n*f(n-1);

}

long fact(int n)
{ if (n==0) return 0;
else return fact(n-1)+f(n);
}

void main()
{ printf("%l",fact(20);
return;
}本回答被提问者采纳

用C语言编程求出1!+2!+3!+……+20!的值
int main(){ int i,j;long sum,k;sum=0;for(i=1;i<=20;i++){ k=1;for(j=1;j<=i;j++){ k=k*j;} sum=sum+k;} printf("1+2!+3!+…+20!=%d",sum);}

C语言中如何求1!+2!+3!+……
以下是用C语言编程求出1!+2!+3!+……+20!的值示例代码:include <stdio.h> int main(){ int i,j;long sum,k;sum=0;for(i=1;i<=20;i++){k=1;for(j=1;j<=i;j++){ k=k*j;} sum=sum+k;} printf("1+2!+3!+…+20!=%d",sum);} ...

编程求1+2!+3!+……+20!的值
程序代码如下: main(){ float s=0,t=0; int n; for(n=1;n<=20;n++) { t=t*n; s=s+t; } printf("1!+2!+...20!=%e\\n",s);}

c语言编程:求1!+2!+3!+4!+……+20!
int result = 0;for (int i = 1; i <= 20; i++){ int temp = 1;for (int j = 1; j <= i; j++){ temp = temp*j;} result += temp;} 循环结束后result就是结果,已经在VS里成功运行。忘采纳,纯手打。Calm_pass的结果多了1,因为总和要从0开始累加,而不是1。

编写一个c程序 求1!+2!+3!+4!+...+20!
include <stdio.h> int main (){ int i,j;long sum=0,temp=1;for(i=0;i<=20;i++){ for(j=1;j<=i;j++)temp=temp*j; \\\\for循环一次出来一个阶乘值 sum+=temp;temp=1;} printf("1!+2!+...+20!=%ld",sum);return 0;} ...

编写一个JAVA程序,计算1!+2!+3!+...+20!之和并在屏幕上输出
public static void main(String[] args) throws Exception { int sum = 0;for(int i=1;i<=20;i++){ int temp = 1;for(int j=1;j<=i;j++){ temp*=j;} sum+=temp;} System.out.println("1-20阶乘的和为:"+sum);} } 答案补充:上面算法只适合于阶乘合并不是很大的情况 如果...

编程计算1!+2!+3!+…+20!的结果
如图

编写程序.计算s=1!+2!+3!+4!+……20!。
includeint main(){ long long t=1,s=0; int i; for(i=1;i<21;i++){t*=i; s+=t;}printf("%lld\\n",s); return 0;}

用JAVA计算1!+2!+3!+。。。+20!的和
但不要太大)次结束即可。public class sum{ public static void main(String[] args) throws Exception { int sum = 0; for(int i=1;i<=20;i++){ int temp = 1; for(int j=1;j<=i;j++){ temp*=j; } sum+=temp; } System.out.println("1-20阶乘和为:"+sum); } } ...

C语言 编程计算1!+2!+3!+…+20!。出现的问题
printf("1!+2!+...+20!=%ld\\n",t);ld 是以双精度浮点型输出, 不知道你是否为你的笔误,输出的应该是 s 吧.用断点调试可以看到: 在进行第14次运算的时候,s的值已经为负,说明s的值已经超越了long的最大值,而你输出的是 t ,表面上看n=19时输出的是正值,好像是正确的,其实 t 的值在...

相似回答