zoukankan      html  css  js  c++  java
  • 5.15求π近似值

    ”正多边形逼近“法求π:核心思想是极限的思想。假设一个直径d为1的圆,只要求出该圆的周长C,就可以通过π=C/d方法求出π的值。所以关键是求出该圆的周长C。

    ”正多边形逼近“也叫做”割圆术“,当一个圆的内接正多边形边数越多时,其边长就越接近外接的圆周长。

    设一个直径为1的圆的内接多边形边长为b,边数为i,周长为C=bi;当多边形的边数加倍后,新多边形边长为x=sqrt(2-2sqrt(1-b*b))/2,新多边形周长为:C=2ix。

    #include <iostream>
    #include<cmath>
    using namespace std;
    
    double getPI(int n) {//n指的是要迭代的次数(迭代次数越多越精确)
    	int div,i=4;//div记录迭代次数
    	double b=sqrt(2)/2.0;  //直径为1的圆,内接正四边形的初始化,其边长为sqrt(2)/2,边数为4,即i
    	double c=0.0;
    	for(div=0;div<n;div++) {
    		b=sqrt(2.0-2.0*sqrt(1.0-b*b))*0.5;//边数加倍后的边长
    		i=i*2;                //边数加倍
    	}
    	c=b*i;    //计算多边形周长
    	return c;
    }
    
    int main() {
    	int n;
    	double PI;
    	cin>>n;
    	PI=getPI(n);
    	cout<<PI;
    	return 0;
    }
    

      

    拥抱明天! 不给自己做枷锁去限制自己。 别让时代的悲哀,成为你人生的悲哀。
  • 相关阅读:
    第十七章:jQuery类库
    第十八章:客户端存储
    第十六章:脚本化HTTP
    第十四章 校本化CSS
    第十三章 脚本化文档
    第十二章:window对象
    第十一章:WEB浏览器中的javascript
    第十章:Javascript子集和扩展
    第九章:Javascript类和模块
    第八章:Javascript函数
  • 原文地址:https://www.cnblogs.com/dd2hm/p/6785224.html
Copyright © 2011-2022 走看看