下列级数可近似计算π:4(1-1/3+1/5-1/7+1/9-…-1/(2*i-1)+1/(2*i+1))
编写程序,分别求i为10,100,1000时π的值。
下列级数可近似计算π:4(1-1/3+1/5-1/7+1/9-…-1/(2*i-1)+1/(2*i+1))
编写程序,分别求i为10,100,1000时π的值。
这类题就是求解通项公式,然后做Sum求和即可。
通项公式是(-1)^i 1/2*i+1)) 如果不习惯使用math包中的指数计算,就直接判断i的奇偶性,即可
public class compute{
public static float equation(int i){
int a = -1;
if(i%2==0){
a = 1;
}
return a*(1/(2*i+1));
}
public static float sum(int end){
float sum = 0.0f;
for(int i=0;i<=end;i++){
sum += equation(i);
}
}
public static void main(String[] args){
System.out.println(4*sum(10));
System.out.println(4*sum(100));
System.out.println(4*sum(1000));
}
}
int t=0;
int max=11; //也就是你的I值 10 100 1000 +1
for (int i=0;i<max;i++){
if(i/2==0){
t+=1/(i*2+1);
}
else{
t-=1/(i*2+1);
}
}
t*=4;
搞定,t 就是你要的值了,你只要把MAX改下就OK了,给俺分吧