求问,用C求π,不用MATH函数
来源:百度知道 编辑:UC知道 时间:2024/06/30 02:03:59
只能用条件、循环语句等等,不调用MATH函数改怎么写?
先谢谢各位!!!
求详细过程
还有不能用MATH啊。。。
先谢谢各位!!!
求详细过程
还有不能用MATH啊。。。
有很多种算法,最简单的就是下面这种了。
pi/4=1-1/3+1/5-1/7+1/9……
根据这个公式可以求圆周率的近似值
调试成功!
只要将 int n; 改成 float n;即可出现结果。为了使精度高一些最好把float 换成double
#include "stdio.h"
#include "math.h"
main()
{
double n;
double pi = 0.0, s = 1.0, k = 1.0;
n = 1;
while( fabs(s)>1e-7)
{
pi = pi + s;
n = n + 2;
k = -k;
s = k / n;
}
pi = pi * 4;
printf( "%.8f", pi );
getch();
return 0;
}
兄弟,试一下,祝你成功
有很多公式可以计算 π 的。
要求精确到小数点后面多少位?
求圆周率的C程序算法原理。
核心问题就是弄明白以下无穷级数和:
pi = 2 + 1/3* (2 + 2/5* (2 + 3/7* (2 + ... (2 + K/(2K+1)--------- ))...))) K趋于无穷大。
要搞明白这个问题要有三个预备知识:
(1)由幂级数展开式arctan X=X -X^3/3+X^5/5-X^7/7........得到:
PI/4=1-1/3+1/5-1/7+1/9............
(2)欧拉的EULER TRANSFORM公式,这个公式的作用就是把一个收敛的无穷级数和转换为另一个收敛更快的无穷级数和;
(3)为拉能弄明白EULER TRANSFORM公式,