java S=1+1/(1+2)+1/(1+2+3)+……1/(1+2+3+…+n)

来源:百度知道 编辑:UC知道 时间:2024/05/30 07:07:43
java编程 根据以下公式计算s,n通过命令行入。
S=1+1/(1+2)+1/(1+2+3)+……1/(1+2+3+…+n)
例如:若n的值为11时,函数的值为1.833333。

import java.util.InputMismatchException;
import java.util.Scanner;

public class C {

public static void main(String[] args) {
new C().f();
}

public void f(){

Scanner input = new Scanner(System.in);
System.out.println("请输入数字");
int a = 0;
try{
a = input.nextInt();
f2(a);
}catch(InputMismatchException e){
System.out.println("必须是数字!");
f();
}
}

public void f2(int a) {

int sum=0;
float result = 0;
for(int i=1;i<=a;i++){
for(int j=1;j<=i;j++){
sum = sum +j;
}
result = result + (float)1/sum;
sum = 0;
}
System.out.println(result);
}
}

public double sum(int n){
double sum=0;
double s=1;
for (int j = 1; j <=n; j++) {
s=j*(j+1);//除数的和
sum=sum+2/s;// 2/s是求和公式
}