求1到20的阶乘的和,帮忙看下,哪错了

作者&投稿:书黛 (若有异议请与网页底部的电邮联系)
求1到20的阶乘的和,帮忙看下,哪错了~

int n,i,c,s=0;
for(c=1,n=1;n<=20;n++)
{
for(i=1;i<=n;i++)
{
c=c*i;
}
s=s+c;
}
c的初始值应该是1,s=s+c应该在第二个循环外面,在第一个循环里
你再试试,希望可以帮助你,谢谢采纳。。。

sum赋初值0,还有一些语法错误修改一下,如下
#include
using namespace std;
int main()
{

int i,j,sum;
sum=0;//加这句
for(i=1;i<=20;i++)
{
for(j=1;j<=i;j++)
j=j*i;
sum=sum+j;
}
return 0;
}

程序没错,int 的最大是21亿
而20!=2432902005176640000。
楼主需要用高精度运算,推荐使用java biginteger.
 所谓的高精度运算,是指参与运算的数(加数,减数,因子……)范围大大超出了标准数据类型(整型,实型)能表示的范围的运算。例如,求两个200位的数的和。这时,就要用到高精度算法了。在这里,我们先讨论高精度加法。高精度运算,是指参与运算的数(加数,减数,因子……)范围大大超出了标准数据类型(整型,实型)能表示的范围的运算。例如,求两个200位的数的和。这时,就要用到高精度算法了。

#include<stdio.h>
int main()
{
float n,i,c=1,s=0;
for(n=1;n<=20;n++)
{
c=c*n;
s=s+c;
}
printf("1到20的阶乘的和=%f\n",s);
return 0;
}
这样写

c的初始变量为0, c=c*i 怎么都是零呀


打算算 1到20的阶乘的和 为啥出现负数?求解决方法
计算的结果太大超过了你能保存的位数。可以试试用long long int

求1到20的阶乘和,用c语言编程
include <stdio.h> main(){ double res=1.0;int i;for(i=1;i<=20;i++){ res*=i;} printf("result=%lf",res);}

C语言同样1到20的阶乘求和,单循环和双循环的结果为什么不一样?
你用双循环的时候,k没有重新置1,导至出错,应该是这样的:for(i=1;i<=20;i++){ k=1; \/\/你漏了这一句 for(j=1;j<=i;j++)k=k*j;s=s+k;}

C语言求1-20的阶乘之和
i没有初始化,加上i = 0,否则i是乱码,另外1到20的阶乘值很大,会数据溢出,应该用__64int或者long long (可存储2^64位数)来定义sum。

1到20的阶乘和!为什么输不出正确结果?
for(i=1;i<=20;i++) 循环中加上一句 k = 1; 每次开始循环的时候需要把 k 重置一下

编程计算1-20的阶乘之和
呵呵粗心了,修该了:Private Sub Command1_Click()Cls DIM a,sum as integer a=1 For i = 1 To 20 a=a*i sum =sum +a next i print sum End Sub

用php求阶乘1到20的和为什么会等于2.5613274941118E+18
这个结果其实就是2561327494111799808,因为PHP当数字超过一定长度后会自动将结果转换为科学计数法,你可以通过千位分组格式化输出正常的显示方式 echo number_format(2.5613274941118E+18, 0, '', '')

编写程序:1到20阶乘之和
这是个JAVA程序!public Num{ \/\/创建类 public static void main(String[] args){\/\/程序入口 int m=0;for(int i=1;i<=20;i++){\/\/循环1-20的数 int n=1;for(int j=i;j>0;j--){\/\/循环求该数的阶乘 n*=j;} m+=n;\/\/把所有的数加起来 } } } ...

VB求1-20的阶乘之和
Dim i, j As Integer Dim sum, t As Double sum = 0 For i = 1 To 20 t = 1 For j = 1 To i t = t * j Next j sum = t + sum Next i MsgBox "1-20的阶乘之和为:" & sum, vbInformation, "确认"你要先建立一个窗体,在窗体上建个按钮,再将上述代码粘贴到按钮的过程...

求1到20的阶乘的和
已通过测试,望采纳 include <stdio.h> void main(){ double sum=0,n=1;int i;for(i=1;i<=20;i++){ n*=i;sum+=n;} printf("%lf",sum);}

新野县19141435104: 1到20阶乘的和等于多少 -
鬱欧迈尔:[答案] #include "stdio.h" void main() { int i; double s=0,x=1; for(i=1;i

新野县19141435104: c语言阶乘 1到20的阶乘求和,帮我看看问题出在哪里 -
鬱欧迈尔: sum是int整型,意味着可以表示的数字不能超过32767 但是你这里的数据肯定超过这个数; 所以应该是把sum的数据类型换一下,改成double这样可以表示更大数据范围的类型 同时,你这样写问题太多了,阶乘计算、循环次数和退出条件设置都是问题

新野县19141435104: 求1到20的阶乘的和,帮忙看下,哪错了 -
鬱欧迈尔: #include<stdio.h> int main() {int n,i,c=1,s=0;//c要等于1for(n=1;n<=20;n++){for(i=1;i<=n;i++)c=c*i;s=s+c;}printf("1到20的阶乘的和=%d\n",s);return 0; }

新野县19141435104: 1到20的阶乘的和怎么求?#include "stdio.h"void main(){int i,n;long fact=1,sum=0;scanf("%d",&n);for(i=1;i -
鬱欧迈尔:[答案] long fact=1,sum=0;应该改为long double fact=1L,sum=0L;或者fact 和sum改为double型; long double 为常双精度型;你的结果有19位,long是不行的!long最多有十位!

新野县19141435104: 求1到20的阶乘的和 -
鬱欧迈尔: int s=0,n=1; for(int i=1;i<=20;i++) {for(int j=i;j>=1;j--){n=n*j;}s=s+n; }

新野县19141435104: c++求1到20的阶乘的和 即,1!+2!…+20! -
鬱欧迈尔: #include <iostream> using namespace std; long facto(int n)/*用递归方法求解*/ {if(n==0||n==1){return 1;}else{return n*facto(n-1);} } int main() {int i;long sum=0;for(i=1;i<=20;i++){sum=sum+facto(i);}cout<<"1!+2!…+20!="<<sum;return 0; }运行结果:

新野县19141435104: java中求1到20的阶乘和 -
鬱欧迈尔: for的嵌套循环的:1 2 3 4 5 6 7 8 9 10 11 12 13publicclassPractice5 {publicstaticvoidmain(String[] args) {longsum = 0, c;for(inti = 1; i <= 20; i++) {c = 1;for(intb = 1; b <= i; b++) {c *= b;}sum += c;}System.out.println("1到20的阶乘和等于...

新野县19141435104: 求1到20的阶乘和,,用C语言怎么整,,请高手来看看,,我这个对不??谢了 -
鬱欧迈尔: 用递归调用吧最简单 int fan(int a) { sum+=20*fan(a-1); } 考试必考,最后用fun(20),但要sum在外面定义就出来了

新野县19141435104: C语言,算1到20阶乘的和 -
鬱欧迈尔: s*=i相当于s=s*i,假如某一次循环中i=k(k代表某个自然数),s=S那么执行完s*=i后s=S*k;下一次循环时i=k+1,执行完s*=i后s=S*k*(k+1).而初始情况是i=1,s=1,根据数学归纳法可以推导出s中保存的值是1*2*...*(k+1).

新野县19141435104: Java编程求1到20阶乘的和 -
鬱欧迈尔: public class gg { public static void main(String[] args) { int t,s; t=1;s=0; for(int i=1;i<=20;i++){ t*=i; s+=t; } System.out.println("s="+s); } }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网