wustoj 1210 计算π的值(π/4=1-1/3+1/5-1/7+…)
Time Limit: 2 Sec Memory Limit: 128 MB 64bit IO Format: %lld
Submitted: 3353 Accepted: 717
[Submit][Status][Web Board]
Description
求π的近似值,计算公式为π/4=1-1/3+1/5-1/7+…,直到当前项的绝对值恰好小于(10^-n)为止(该项不计入总和)。
Input
输入n。(1<=n<=8)
多组测试数据。
Output
输出π的值。
Sample Input
4
Sample Output
3.141393
这题按照题意很好找出规律写代码,但对于习惯使用c++的新手有一点很重要就是容易TLE,这个时候最好使用scanf和printf,或者使用“ios::sync_with_stdio(false);”关闭stdio兼容。附上代码,仅供易TLE的人参考
#include <stdio.h>
#include <math.h>
int main()
{
int n;
while(scanf("%d",&n)!=EOF){
double sum = 0.0;
double sign = 1.0;
double kn=pow(10,n);
for(double i = 1;i< kn; i = i + 2)
{
sum = sum +sign/ i;
sign = -sign;
}
sum = 4.0* sum;
printf("%lf\n",sum);
}
return 0;
}
/**************************************************************
Problem: 1210
User: 1314521
Language: C++
Result: Accepted
Time:620 ms
Memory:1268 kb
****************************************************************/