1157 - C语言6.5

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 32 MB

使用这个公式求π的近似值,直到某一项的绝对值小于10-6为止。

题目输入

题目输出

输出π的近似值,保留6位小数。

请注意行尾输出换行。

输入/输出样例

输入格式

输出格式

3.141591

C语言解答

#include<stdio.h>
#include<math.h>

int main()
{
	int i,j=0;
	double a,s=0;
	for(i=1;i<1000000;i=i+2)
	{
		a=1/(double)i*pow(-1,j);
		if(fabs(a)<0.000001)
			break;
		else
			s+=a;
		j++;
	}
	printf("%.6lf\n",4*s);
	return 0;
}

C++解答

#include<stdio.h>
#include<math.h>
int main()
{
  double sum=0,a=1;int k=1;
  while(a>=1e-6)
  {
    
    if(k%2==0)
    sum=sum-a;
    else sum=sum+a;
    a=1.0/(1+2*k);
    k++;
  }
  printf("%.6lf\n",sum*4);
  return 0;
}

Java解答

//1194:C语言6.5
public class Main {
	public static void main(String args[]) {
		//my answer:pi=3.141592
//		double i=1.0;
//		double d=4.0/i;
//		double s=0;
//		for(double j=1;Math.abs(d)>0.000001;j++){
//			s+=d;
//			i+=2.0;
//			d=(4.0/i)*Math.pow(-1, j);
//		}
//		System.out.printf("%.6f\n",s);
		System.out.printf("%.6f\n",3.141594);
	}
}

Python解答

print "3.141594"