32 lines
1022 B
Java
32 lines
1022 B
Java
|
package Course_Codes;
|
|||
|
|
|||
|
import java.math.BigDecimal;
|
|||
|
|
|||
|
public class <EFBFBD><EFBFBD><EFBFBD><EFBFBD>PIС<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>nλ {
|
|||
|
|
|||
|
public static void main(String[] args) {
|
|||
|
int n=1000;
|
|||
|
PI(n);
|
|||
|
}
|
|||
|
|
|||
|
public static void PI(int n) {
|
|||
|
BigDecimal qian=BigDecimal.ZERO;//ǰ<>벿<EFBFBD><EBB2BF>
|
|||
|
BigDecimal hou=BigDecimal.ZERO;//<2F><><EFBFBD>벿<EFBFBD><EBB2BF>
|
|||
|
BigDecimal ans=BigDecimal.ZERO;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>pi
|
|||
|
int jd=1000;//<2F><>ȷ<EFBFBD><C8B7>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1000λ
|
|||
|
for(int i=0;i<n;i++) {
|
|||
|
BigDecimal de5=new BigDecimal("1").divide(new BigDecimal(2*i+1+"")
|
|||
|
.multiply(new BigDecimal("5").pow(2*i+1)),jd,BigDecimal.ROUND_DOWN);
|
|||
|
|
|||
|
BigDecimal de239=new BigDecimal("1").divide(new BigDecimal(2*i+1+"")
|
|||
|
.multiply(new BigDecimal("239").pow(2*i+1)),jd,BigDecimal.ROUND_DOWN);
|
|||
|
|
|||
|
BigDecimal fh=new BigDecimal((i%2==0?1:-1)+"");//<2F>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
qian=qian.add(de5.multiply(fh));
|
|||
|
hou=hou.add(de239.multiply(fh));
|
|||
|
}
|
|||
|
ans=new BigDecimal("16").multiply(qian).subtract(new BigDecimal("4").multiply(hou));
|
|||
|
System.out.println(ans.toString());
|
|||
|
}
|
|||
|
}
|