knrt.net
当前位置:首页 >> 编写JAvA程序,使用whilE循环语句计算1+1/2!+1/3!…1/20!之和. >>

编写JAvA程序,使用whilE循环语句计算1+1/2!+1/3!…1/20!之和.

package practice; /* 使用while循环 计算1+1/2!+1/3!++1/20! a用于存储前n个阶乘分之一 sum 用于累加和 */ public class WhileDemo { public static void main(String[] args) { /*i=i+1的简写形式是i+=1;但是二者有本质的区别: 如果 i是short类型

先写个求阶乘的方法: public static int jiecheng(int n) { int result = 1; for (int i = 1; i

public class GetSum1{ public static void main(String sags[]){ int a = 1; int sum =0; while(a <=20){ sum = sum+a; a++; } System.out.println("sum = "+sum ); } }

double sum = 0; double n = 1; while(n sum+= 1/n; n++; } System.out.println(sum);

long s=1; // 维护阶乘 long f=1; // 维护总和 for(int i=1;i<=20;i++) { f*=i; s+=f; } System.out.println(s);

int i=1,a=1,sum=0;for i=1 ia*=i;sum+=a; while ia*=i;sum+=a;

把你代码拿去跑了一下,没有出错啊.结果:1.7182816public static float prime(int n){int i,item=1;for(i=1;i<=n;i++){item*=i;}return 1.0f/item;}public static void main(String[] args) throws Exception {int i,n=20;float sum=0;for(i=1;i<=n;i++){sum+=prime(i);}System.out.println(sum);}

当然要影响,你只定义了一个全局变量i,只有重新定义局部变量i才会使全局变量在局部被屏蔽.稍微改一下,你定义一个j,就行了. int i = 1; int j = 0; double a = 1; double c = 0; while (i<=20){ j = i; //下面这个循环出来结果都是a =1;你再改一下

先写个求阶乘的方法:public static int jieCheng(int n) { int result = 1; for (int i = 1; i <= n; i++) { result *= i; } return result; } 然后如你要求的来用dowhile()循环计算自:(也给你写了个方法)public static double caculate(int n) { double sum = 0.0;

F1 = 1 F2 = F1 / 2 F3 = F2 / 3 Fn = F(n-1) / n 如果每一项都计算一遍阶乘,那么程序的复杂度会很大,可以通过备忘录的形式,比如将F(n-1)的计算结果保存下来,计算Fn的时候,就不用再计算(n-1)的阶乘了. 代码如下: public class Test3

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.knrt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com