java 级数_Java练习: 数列/级数求和

级数通常指无穷级数,而有穷级数通常称为数列。数列/级数求和或求近似值是常见的循环编程练习。

下面将给出一些题目。

1.调和数

调和级数Harmonic numbers,H(n)= 1/1 + 1/2 + 1/3 + 1/4 + ... + 1/n。求调和级数前n项的和

/**

* 调和级数Harmonic numbers,

* H(n)= 1/1 + 1/2 + 1/3 + 1/4 + ... + 1/n

*/

public static double harmonic (int n) {

double sum = 0.0;

for (int i = 1; i <= n; i++) {

sum += 1.0 / i;

}

return sum;

}harmonic(10) =2.9289682539682538

harmonic(50000) =11.397003949278504

2.e的幂

ex= 1+ x/1! + x**2 / 2! + x**3 / 3!+...,求e(double x)。虽然可以求ex如e1、e0.5等,参数x我们这里不关心。我们关心的是循环结束的条件,比如计算精确到10-6。

public static double e(double x) {

double sum = 0.0,xn=1,f=1,item =0;//近似值、x的幂、n!

int itemIndex = 1;

do{

xn *= x;//

f *= itemIndex;// n!

item = xn/f;pln(item);

itemIndex++;

sum += item;

}while(item>1E-6);

return sum;

}

3.求Pi

pi/8  = 1/(1*3)+1/(5*7)+1/(9*11)+...,求pi/8的a到b项的和。为什么不是前n项的和?因为要和sum_integers求a到b项的代数和,sum_cubes求a到b项的立方数的代数和统一。

/**

* the sum of a sequence of terms in the series 1/(1*3)+1/(5*7)+1/(9*11)+...

*/

public static double item(int x){

return 1.0/(x*(x+2));

}

public static double pi(int a,int b){

double sum=0;

for(int i =a;i<=b;i+=4){

sum+=item(i);

}

return sum;

} pln("pi="+8*pi(1,5000)) 输出

pi=3.14119265360579

请设计大统一的、通用函数。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值