循环-02. 计算圆周率(15)
时间限制
400 ms
内存限制
32000 kB
代码长度限制
8000 B
判题程序
Standard
作者
杨起帆(浙江大学城市学院)
根据下面关系式,求圆周率的值,直到最后一项的值小于给定阈值。
输入格式:
输入在一行中给出小于1的阈值。
输出格式:
在一行中输出满足阈值条件的近似圆周率,输出到小数点后6位。
输入样例:0.01输出样例:
3.132157
#include<stdio.h> int main() { double halfPi=0; double numerator=1,denominator=1;//分子,分母:一定要声明为double类型,否则部分答案不通过 double givenThreshold; //给定阀值 scanf("%lf",&givenThreshold); double threshold=numerator*1.0/denominator; int i=0; while(threshold>=givenThreshold) { halfPi+=threshold; ++i; //printf("%d/%d\n",numerator,denominator); numerator*=i; denominator*=(2*i+1); threshold=numerator*1.0/denominator; } halfPi+=threshold; printf("%0.6f\n",halfPi*2); return 0; }