JAVA循环,求大侠帮忙。“计算1-1⼀3+1⼀5-1⼀7+1⼀9-1⼀11+......的前10000项之和”。 在线等答案额。

2024-12-05 05:27:46
推荐回答(4个)
回答1:

public class Add
{
public static void main(String[] args)
{
int flag=1,i=3;//flag表示项数
double sum=1.0;
while (flag<10000) //while循环只加到9999项
{
sum -= 1.0/i - 1.0/(i+2);
flag += 2;
i+=4;
}
sum -= 1.0/(i+2);//加上第10000项
System.out.print(sum);
}

}
自己特地写的 解释很清晰...

回答2:

int i,j,sum=0;
for(i=1,j=1;j<=10000;i=i+2,j++){
sum=sum+Math.pow(-1,j+1)/i;
}

int i,j,sum=0;
for(i=1,j=1;j<=10000;i=i+2,j++){
if(j%2) sum=sum+1/i;
else sum=sum-1/i;
}

回答3:

double sss(int n){
if(n ==1) return 1;
if(n%2==0) return sss(n-1);
else{
int sign = n/2;
if(sign%2 == 0) return sss(n-2) + 1.0/n;
else return sss(n-2)-1.0/n;
}
}
在主函数里调用这个method sss(1000)

回答4:

double result = 0;
double temp = 0;
for (int i=0; i<3; i++) {
temp = (i%2==0?1:-1) / (i*2+1);
result += temp;
}
System.out.println("结果为" + result);