Manchester


私信TA

用户名:wenyajie

访问量:332273

签 名:

在历史前进的逻辑中前进,这个逻辑就是人心向背的逻辑

等  级
排  名 1
经  验 65591
参赛次数 1
文章发表 188
年  龄 0
在职情况 学生
学  校 Xiamen University
专  业 计算机科学

  自我简介:

在历史前进的逻辑中前进,这个逻辑就是人心向背的逻辑

解题思路:
把问题转化为,求前N(每个N为公式中的分数)个数的和,直到fabs(N)<1E-6结束;
用while循环控制,PI/4=+1/1   -1/3   +1/5   -1/7    +1/9 ........

定义浮点型变量denominator表示分母,分子的变化pow(-1,i)  i从0开始,逐次加1;
分母和PI定义为浮点型,若分母为整型,输出结果为4.000000;


参考代码:

c++:

#include <iostream>
#include <iomanip>
#include <math.h>
using namespace std;

int main()
{
    double PI = 0, denominator = 1;;

    int i = 0;

    while ( 1 / denominator >= 1E-6 )
    {
        PI        += (pow( -1, i ) / denominator);
        denominator    += 2;
        i++;
    }
    cout << fixed << setprecision( 6 ) << PI * 4;
    return(0);
}

c:

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

int main()
{
    double PI = 0, denominator = 1;;

    int i = 0;

    while ( 1 / denominator >= 1E-6 )
    {
        PI        += (pow( -1, i ) / denominator);
        denominator    += 2;
        i++;
    }
    printf( "%.6f", PI * 4 );
    return(0);
}

别忘点赞哦-.-

 

0.0分

7 人评分

  评论区

请问楼主是怎么加上最后一项的,我的需要后补一次循环步骤
#include<stdio.h>
#include<math.h>
int main() {
	int i=0;
	double p,q=0,k;
	do {
		i++;
		p=pow(-1,i-1)/(2*i-1);
		q=q+p;
		if(p<0) {
			p=0-p;
		}
	} while(p>=pow(10,-6));
	i++;//这里增加了一次。
	p=pow(-1,i-1)/(2*i-1);
	q=q+p;
	printf("%.6f",q*4);
	return 0;
}
2020-02-23 23:58:32
#include<stdio.h>
#include<math.h>
int main()
{
	int n=0;
	double i,pi,sum=0;
	while(fabs(i)>=pow(10,-6))
	{
		i=pow(-1,n)/(2*n+1);
		sum=sum+i;
		n++;
	}
	pi=sum*4;
	printf("%.6lf\n",pi);
	return 0;
}
我的为什么是3.141595?麻烦大佬帮我看一下,谢谢!
2019-04-25 00:23:28
#include<stdio.h>
#include<math.h>
int main(){
	int i=1;
	int sign=-1;
	double sum=0;
	double t=1;
	sum+=1;
	while(fabs(t)>=1E-6){
		i=i+2;
		t=1.0/i;
		//printf("%f\n",t);
		sum+=t*sign;
		sign=-sign;
	}
	printf("%.6f\n",sum*4);
	return 0;
} 

为什么我这个答案是3.141595大佬们能找一下错误吗谢谢啦
2019-03-29 17:06:53
大佬啊。数学不好的我硬是想了一晚上都没有想出怎么下手!!
2019-03-22 22:42:50
POW(-1,i)用的太好了。
2018-01-02 14:50:39
  • «
  • 1
  • »