1求π的三种算法实现与程序结构
2观察不同数据类型对π精度影响
3动态调试数据类型互换及精度分析float double
求π的4种算法实现(直到某一项的绝对值小于10^(-6)为止),4种方法计算公式,哪个最精确,为什么
1求π的三种算法实现与程序结构2观察不同数据类型对π精度影响3求π的4种算法实现(直到某一项的绝对值小于10^(-6),4种方法计算公式,哪个最精确,为什么
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- CSDN专家-天际的海浪 2022-06-01 02:18关注
你题目的解答代码如下:
#include<stdio.h> #include<math.h> // pi^2/6=1/1^2+1/1^2+1/3^2............ double getPI1() { double PI=0,term,n=1; do { term=1.0/(n*n); PI+=term; n+=1; } while(fabs(term)>=pow(10,-6)); return sqrt(PI*6); } // pi/2=((2*2)/(1*3))*((4*4)/(3*5))*((6*6)/(5*7))*............ double getPI2() { double PI=1,term,n=2; do { term=(n*n)/((n-1)*(n+1)); PI*=term; n+=2; } while(fabs(1-term)>=pow(10,-6)); return PI*2; } // pi/4=1/1-1/3+1/5-1/7+1/9-............ double getPI3() { double PI=0,term,n=1; int sign=1; do{ term=sign/n; PI+=term; n=n+2; sign=-sign; }while(fabs(term)>=pow(10,-6)); return PI*4; } // pi+3=4/(2*3*4)-4/(4*5*6)+4/(6*7*8)-............ double getPI4() { double PI=0,term,n=2; int sign=4; do{ term=sign/(n*(n+1)*(n+2)); PI+=term; n=n+2; sign=-sign; }while(fabs(term)>=pow(10,-6)); return PI+3; } int main() { printf("getPI1() PI=%.16lf\n",getPI1()); printf("getPI2() PI=%.16lf\n",getPI2()); printf("getPI3() PI=%.16lf\n",getPI3()); printf("getPI4() PI=%.16lf\n",getPI4()); return 0; }
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 请问为什么我配置IPsec后PC1 ping不通 PC2,抓包出来数据包也并没有被加密
- ¥200 求博主教我搞定neo4j简易问答系统,有偿
- ¥15 nginx的使用与作用
- ¥100 关于#VijeoCitect#的问题,如何解决?(标签-ar|关键词-数据类型)
- ¥15 一个矿井排水监控系统的plc梯形图,求各程序段都是什么意思
- ¥50 安卓10如何在没有root权限的情况下设置开机自动启动指定app?
- ¥15 ats2837 spi2从机的代码
- ¥200 wsl2 vllm qwen1.5部署问题
- ¥100 有偿求数字经济对经贸的影响机制的一个数学模型,弄不出来已经快要碎掉了
- ¥15 数学建模数学建模需要