第一种方式,循环累加:
n作为参数传入
int n=5;
int sum=0;
for(i=1;i<=n;i++){
sum=sum+1/(2i-1);
}
第二种方式:递归
int sum=0;
public int result(int n){
if(n==1){
sum=1;
}else if(n>0){
sum=1/(2n-1)+result(n-1);
}
}
求和项需要使用浮点数,因为int会截取掉小数后面的值
public class Test {
//获取分母的值
private static int getDenominator(int index){
int result = 1;
for (int i = 1; i <= index; i++) {
result *= i;
}
System.out.println("Denominator -------- "+result); //逐个打印分母
return result;
}
public static void main(String[] args) {
int i = 1;
int n = 10;
double result = 0;
while(i <= 2*n - 1){
result += 1.0 / getDenominator(i);
System.out.println("Detail -------- "+result); //每一个被加项
i += 2;
}
System.out.println("Total -------- "+result); //总结果
}
}
带个!号是神马意思?
这个是不带!号的希望对你有帮助
float f = 0;
for (int i = 1; i < 111; i++) {
f += 1/(2*i-1);
}
111是你的n