30天!

题目一:

PI=4/1-4/3+4/5-4/7+4/9-4/11+4/13-4/15+4/17…

1.这个算式的结果会无限接近于圆周率的值,我国古代数学家祖冲之计算出,圆周率在3.1415926和3.1415927之间,请编程计算,要想得到这样的结果,他要经过多少次加减法运算?18660304

**思路:**我本来的思路是只控制分母,但是似乎陷入了死循环,一直执行无结果,逻辑想起来似乎没有问题,你如果看到有兴趣的话兴许可以告诉我为什么。

能运行出结果的思路,是将每个分数当作一个整体,for循环中的变量直接是加减的次数。

感想:遇到这种含有分数,且前面加减交错的问题,可以将整个分数作为一个整体。

package LoopDemo;/*
* 题目一:
* PI=4/1-4/3+4/5-4/7+4/9-4/11+4/13-4/15+4/17......
1.这个算式的结果会无限接近于圆周率的值,我国古代数学家祖冲之计算出,
* 圆周率在3.1415926和3.1415927之间,请编程计算,要想得到这样的结果,
* 他要经过多少次加减法运算?
*
* 思路:
* 1.将Pi初始值设为0,但是要注意为double;将分母x初始值设为1,也要为double型
* 2.将for循环的次数作为最终的计算结果,
* 3.将4/x作为一个整体,第一,三,五奇数次执行时前面应该是加号,每次x应该加2;
* 4.判断Pi值在范围之内时,输出循环的次数以及pi值
* */public class Demo01PI {public static void main(String[] args) {double x = 1;double Pi = 0;for (int i = 1; ; i++) {double y = 4 / x;if (i % 2 == 1) {Pi = Pi + y;x = x + 2;}else {Pi = Pi - y;x = x + 2;}if (Pi >= 3.1415926 && Pi <= 3.1415927){System.out.println("PI为" + Pi);//PI为3.1415926000000005System.out.println("经过了" + i + "次加减法运算");//经过了18660304次加减法运算break;}}}//这一部分代码跑不出来,逻辑感觉成立,但不知道为什么/*public static void main(String[] args) {double sum = 4.0;int temp = 0;for (int i = 3, j = 1; ; i += 2, j++) {sum = sum + ((-1) ^ j) * 4.0 / i;temp++;System.out.println("第" + temp + "次执行了");if (sum >= 3.1415926 && sum <= 3.1415927){System.out.println("PI为" + sum);System.out.println("经过了" + temp + "次加减法运算");break;}}//System.out.println("PI为" + sum);//System.out.println("经过了" + temp + "次加减法运算");}*/}

Java循环案例-求PI值相关推荐

  1. 第一个Spark实例:求PI值

    向spark提交jar,需要使用 bin下的spark-submit [hadoop@nbdo1 bin]$ ./spark-submit --help Usage: spark-submit [op ...

  2. 看得见的算法蒙特卡洛问题——使用蒙特卡洛算法求PI值

    看得见的算法蒙特卡洛问题--使用蒙特卡洛算法求PI值 1.什么是蒙特卡洛问题 蒙特卡洛方法(Monte Carlo method),也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算 ...

  3. Matlab--蒙特卡洛方法求pi值

    Matlab--蒙特卡洛方法求pi值 蒙特·卡罗方法(Monte Carlo method),也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论 ...

  4. matlab求pi值的三种方法

    https://www.icourse163.org/learn/CSU-1002475002?tid=1450231442#/learn/content?type=detail&id=121 ...

  5. 蒙特卡洛法求概率密度函数matlab,matlab的蒙特卡洛算法-----用概率算法求pi值

    问题补充: 能提供一个例子看看吗?我就不懂MATLAB,想知道具体代码.因为现在写论文急,也没时间仔细看书了 蒙特卡罗模拟 就是随机数相关的东西,你只要知道随机数是怎么得到.其它的事就要好办了. ra ...

  6. java循环1000000000_求十亿内所有质数的和,怎么做最快?

    注:对知乎的公式编辑功能实在无力吐槽,用typora写的文章直接粘过来公式无法显示,只好又手工加上了全部公式,不过可能还是会有遗漏.大家可以点击这个链接 查看我的博客原文.以下是正文: 第一次关注到这 ...

  7. matlab中用公式求pi值,matlab用π 4公式求π的近似值,直到某一项的绝对值小于10-6为止...

    求问matlab计算的几个公式以及方法. 峰值max峭度应该就是梯度了gradient曲线画图:plot(二维)plot3(三维),其他画图都用这个就够了查matlab文档 求matlab高手,这个公 ...

  8. hadoop案例测试——pi值、wordcount函数,hadoop不支持本地库问题

    前言:本文案例测试所需环境都是在前面几篇blog的基础上进行的,具体内容请查看: http://blog.csdn.net/u012829611/article/details/77678609 ht ...

  9. Java循环案例-银行存钱问题

    题目10: \10. 本金10000元存入银行,年利率是千分之三.每过1年,将本金和利息相加作为新的本金.计算5年后,获得的本金是多少?(使用for循环实现) 思路:把循环次数控制为5次,注意千分之三 ...

最新文章

  1. indesign如何画弧线_硬币画警车简笔画【图文+视频教程】
  2. 要让OKR真正”OK“,这三点一定要注意!
  3. 数字信号处理中的归一化频率
  4. c语言switch设计计算器,求助。。关于用switch编写简易计算器
  5. react.JS并非完全开源,百度、Wordpress等带头弃之
  6. 【原】UCS-2和UTF-8的互相转换
  7. Python 局部变量和全局变量 - Python零基础入门教程
  8. dede mysql语句_让dede运行php代码和mysql语句
  9. 指引趋势和方向!2019开发者技能报告出炉!!
  10. C++语言vector容器介绍和示例
  11. 惊,Java 字符串拼接竟然有这么多玩法!| CSDN 原力计划
  12. Linux平台vsftp创建帐号
  13. 错误代码1500什么意思_为什么藏族可以吃牦牛肉?(笑cry~
  14. adc matlab代码,pudn-几种ADC设计的matlab源码
  15. C语言写计算ln()计算式,NTC热敏电阻温度计算方法,Steinhart-Hart方程和B值法(转)...
  16. mediawiki mysql配置_MediaWiki 搭建与配置使用
  17. 光大银行监控平台实践,含详细工具及架构选型思路
  18. 计算机标点符号怎么切换,标点符号转换键是什么?
  19. 学计算机白头,为何会有人“一夜白头” 它有科学依据吗?看完终于懂了
  20. 华为TechWave峰会上主推的分布式云到底什么来头?

热门文章

  1. 人脸识别方法个人见解
  2. 蚁群算法,PSO算法以及两种算法可以融合的几种方法
  3. [做题记录]AtCoder AGC做题记录
  4. c语言memset函数用法,深入学习C语言中memset()函数的用法
  5. euv光刻机有什么用_台积电又买了13台EUV光刻机?
  6. 利用Fiddler模拟通过Dynamics 365的OAuth 2 Client Credentials认证后调用Web API
  7. vue项目npm run build后如何在本地查看效果
  8. cxgrid动态创建列
  9. 关于《设计模式演练》系列文章结构的规范
  10. C# 非模式窗体show()和模式窗体showdialog()的区别