17.求圆周率PI: PI/4 = 1- 1/3 + 1/5 -1/7 +.....

简介: 17.求圆周率PI: PI/4 = 1- 1/3 + 1/5 -1/7 +.....

(1)我的程序

#include<iostream>
using namespace std;
int YuanZhou(int);
 
int main()
{
    int n;
    double temp,sum=0;
    cout<<"please input an number: "<<endl;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        if(i%2==0)
        {
            temp=(-1.0/YuanZhou(i));//两个int型相除得到的结果会自动变成int型
        }else
        {
            temp=(1.0/YuanZhou(i));//隐式类型转换
        }
        sum+=temp;
    }
    cout<<4*sum<<endl;
    return 0;
}
 
int YuanZhou(int index)
{
    if(index<0)
    {
        return -1;
    }else
    {
        return (2*index-1);
    }
}


(2)网上的正确程序:

#include<iostream>
#include<iomanip>
#include<cmath>
 
using namespace std;
int main()
{
double item=1, sum=0;
for(int n=1;fabs(item)>1e-6;n++)
{
      sum+=item;
  item*=(-1.0)*(2*n-1)/(2*n+1);
}
 
cout<<"Pi= "<<setiosflags(ios::fixed)<<setprecision(6)<<sum*4<<endl;
 
}
目录
相关文章
|
3月前
|
Java 程序员
Java四舍五入大揭秘:Math.round(11.5)为何等于12?
小米是一位热爱技术的29岁程序员,他在文章中探讨了一道常见的Java面试题——Math.round(11.5)和Math.round(-11.5)的结果及其背后的原理。通过详细解析,小米揭示了Java中四舍五入的特殊规则,并介绍了Math.round()的内部实现机制,即对正数加0.5后向下取整,对负数则先减0.5再向下取整。文章还对比了Math.ceil、Math.floor和Math.rint的不同之处,帮助读者更好地理解和记忆这些数学函数。
80 11
|
8月前
Math.atan2求角度解析
`Math.tan(x/y)` 求得是与y轴的夹角,而 `Math.atan2(y, x)` 求得是与x轴的夹角(范围:\(-\pi\) 到 \(\pi\)),顺时针为负,逆时针为正。`Math.atan2` 函数注意点:y在前,x在后。它能正确处理各象限的角度,例如 `Math.atan2(1, 1)` 返回 \(\frac{\pi}{4}\),而 `Math.atan2(-1, -1)` 返回 \(-\frac{3\pi}{4}\)。
80 0
Math.atan2求角度解析
|
9月前
|
C语言
每天一道C语言编程(求PI)
每天一道C语言编程(求PI)
53 0
|
9月前
|
C++
C++求sinx的n阶积分从0-PI/2
C++求sinx的n阶积分从0-PI/2
64 0
|
9月前
PTA-圆周率PI的近似值
圆周率PI的近似值
96 1
|
9月前
|
Java API
Java的Math.random获取区间随机数
Java的Math.random获取区间随机数
|
Python
【基础入门题035】计算Pi值(一)
【基础入门题035】计算Pi值(一)
102 0
|
Python
【基础入门题037】计算Pi值(三)
【基础入门题037】计算Pi值(三)
97 0
|
Python
【基础入门题036】计算Pi值(二)
【基础入门题036】计算Pi值(二)
115 0