java 求圆周率π
1. 什么是圆周率:
圆的周长除以圆的直径,祖冲之采用内切圆的方式将圆周率精确到了3.1415926。
2.什么是内切圆求圆周:
· 如图:随着切割次数的增加多边形的周长会无限接近圆的周长,因此我们只要能求出多边形的周长即可求出圆周率。
3.如何求内切多边形的周长
如图:多边形的边长等于半径乘以圆心角一半的正弦,即需要求出sin α/2,就可以求出边长,因为四等分时圆心角为90度,随着切割次数的增加,圆心角为90度除以切割次数。因此只需要求出sin 45/k (k为切割次数),即可以求出多边形边长。
4.如何求sin 45/k 的值。
如图: 只需要依次求出斜边长就可以求sin 45/k,根据勾股定理可以通过第k-1次的斜边,求出第k次的斜边。第k+1次斜边长公司如下:
Math.sqrt 是Java的开方, 转为java:
Math.sqrt( 2 * sex * sex + 2 * Math.sqrt(sex * sex - 1) * sex) (sex为第k次斜边长)
5 java 求圆周率代码
public static void main(String[] args) {double sex = Math.sqrt(2); //45度角的 斜边长int k = 25; //切割次数int numberOfSides = 4 << k; //多边形边数for (int i = 0 ; i <= k; i ++){sex = Math.sqrt( 2 * sex * sex + 2 * Math.sqrt(sex * sex - 1) * sex) ;}System.out.println( numberOfSides * 2 / sex );
}
若需要继续精确则不能使用double,需要使用BigDecimal进行计算
java 求圆周率π相关推荐
- 各种求圆周率π的算法(蒙特卡洛法的Java实现)
什么是算法?简单地说,算法就是有穷规则构成的用于解决某一类问题的运算序列或执行步骤.在<算法之美:隐匿在数据结构背后的原理>第1章中我们讲到要解决一个问题可能会有不同的方法,当时所举的例子 ...
- java迭代法求圆周率用梯形_java第二阶段作业总结
0.前言 第二阶段的作业共包含三次作业.第一次作业包含三道题目,第一道题目考查了使用java中的字符串处理类以及正则表达式对输入的字符串数据进行合法性校验及计算,第二道题目考查了使用蒙特卡洛仿真方法求 ...
- 7-3 蒙特卡罗方法求圆周率 (15 分)(Java)
7-3 蒙特卡罗方法求圆周率 (15 分)(Java) 可算写出来了 使用蒙特卡洛仿真方法求圆周率.(具体要求见作业指导书 2020-OO第05次作业-2指导书V1.0.pdf ) 输入格式: 从键盘 ...
- java迭代法求圆周率用梯形_常用的圆周率计算公式
(I)设备筒体.管道表面积计算公式为: S=πDL (1-2) 式中 π--圆周率,取 3.14; D--设备简体.管道直径(m); L--设备筒体.管道高或延长米(m)...... (二)椭圆面积计 ...
- Java实现高数的收敛级数和不定积分求圆周率
用高数的二种方法求圆周率 1.利用收敛级数求和 代码: public class π1 {public static void main(String[] args) {double pai = 0; ...
- java的圆周率_java学习日记,圆周率的打印
前段时间看到听说学习java每天写技术贴会对自己提升很大,我现在学习java也就2个周,算不上技术贴,就写写学习日记吧. 昨天师傅给我出了一道题,说是试试用java打印圆周率. 刚开始我的思路是,如果 ...
- 7-35 蒙特卡罗方法求圆周率 (30 分)
使用蒙特卡洛仿真方法求圆周率. 输入格式: 从键盘输入四个实型数和一个整型数,分别为矩形左上角的横坐标.纵坐标.矩形长度.矩形宽度和投点次数,数与数之间可以用一个或多个空格或回车分隔. 输出格式: 如 ...
- Π和根据阈值和关系式求圆周率
Π 上学学的东西都还给老师了,都忘了Π是什么了,怎么长得有点像n呢,怎么回事... Π百度百科 Π,希腊字母.数学中常指代圆周率.圆周率,一般以π来表示,是一个在数学及物理学普遍存在的数学常数.它定义 ...
- java求圆的周长和面积_Java小程序求圆的周长和面积实例
在Java学习的过程中,需要经常拿一些小程序来练习.今天,我们就来看看一个利用蒙特卡洛算法计算圆周率,并输出指定半径的圆的周长和面积的小程序. 代码如下: /** * auther 司机 */ imp ...
最新文章
- 生产环境项目问题记录系列(一):一次循环数据库拖垮服务器问题
- BZOJ4292 : [PA2015]Równanie
- 解决struts.xml文件提示问题
- 企业为什么要开通银企直联_为什么要开通小红书企业号?——山东同乐电商培训基地...
- (十二)算法设计思想之“分而治之”
- BeanFactory与FactoryBean的区别
- devops开发模式流程图_2020 Web开发人员路线图–成为前端,后端或DevOps开发人员的视觉指南
- mysql binlog c++_MySQL binlog的格式解析
- 孙鑫VC学习笔记:第十五讲 (三) 增加互斥条件实现线程同步
- 【git学习】git项目管理工具
- 【概率论与数理统计】1.2 概率的定义及其确定方法
- C++ +GDAL计算遥感影像植被指数
- 那种片里的马赛克,终于可以一键去除了。
- 【JAVA学习】六、设计模式
- 《黑客帝国 THE MATRIX》——当你生活在代码的虚拟世界中
- VBA批量导入图片到多Word文档并加标题(会飞的鱼)
- mysql导入excel表_mysql怎么导入excel数据?
- 【Word】如何在数学公式同一行末尾填写编号
- FPGA控制W5500完成UDP环回测试
- php 模板编译类,一个简单的模板类--编译型的(simplet类增强后)_PHP教程