zoukankan      html  css  js  c++  java
  • 有趣的求圆周率

    题目:编一个程序,用do-while循环语句来计算圆周率π=4 * (1/1 - 1/3 + 1/5 + 1/7 - 1/9...+1/n), 要求当1/n<0.0000001时停止计算(当然n<后的数,小数点后面位数越多圆周率越精确哦)。

    我的思路:

    第一眼,我差点就放弃了,强迫症作孽啊
    对题目中的公式看起来复杂,但是拆开一步一步的分析,再联想到所学的c#知识解决起来并不麻烦;具体代码如下:

           double π;
                double s = 0;//s相当于(1/1-1/3+1/5+...+1/n)
                double n = 1;//n从1开始
                double x;//s相当于(1/1-1/3+1/5+...+1/n)里面的每个1/n
    
                bool pd = true;//更改‘+’‘-’符号
                double son;//x的分子
                do
                {
                    //解决题目中符号一个加一个减的问题
                    if (pd) {
                        pd = false;
                        son= 1;
                    } else {
                        pd = true;
                        son = -1;
                    }
    
                    x = son / (2 * n - 1);// 解决了题目中父母为奇数的问题
                    s += x;
                    n++;
                } while (1 / n >= 0.00000001);
                π = s * 4;
                Console.WriteLine("π的值为: {0}
    计算机循环了{1}次do-white循环", π,n);
                Console.ReadLine();                
    这个小题目还蛮有趣的,当n值小数点后位数越多时,圆周率越精确,电脑也越卡,哈哈哈哈,表示我电脑精确后9位时,就要等好久才能出结果了
  • 相关阅读:
    网页的摘要信息
    自我介绍
    DIV和SPAN的区别
    软件工程简介
    设置层的漂移
    构建之法现代软件工程
    手机验证码的相关知识
    Python2和Python3的区别
    我的第一个练习
    结对编程后传之做汉堡
  • 原文地址:https://www.cnblogs.com/beimingdaoren/p/12482435.html
Copyright © 2011-2022 走看看