当前位置: 首页 > news >正文

12.1 正整数平方根求法

根号2求法

  我们时常在短视频里刷到根号2的连分数求法。也就是下面的迭代公式:
x=12+12+12+12+⋯2=1+x x = \frac1{2+\frac1{2 +\frac1{2+\frac1{2 +\cdots}}}}\\ \sqrt2=1+x x=2+2+2+2+11112=1+x
我们先用代码迭代一下试试:

package cn.edu.ncepu;/*** 求根号2* 2025-11-11** @author 醒过来摸鱼*/
public class Main {public static void main(String[] args) {double x = 1;double nextX = 0;while (x != nextX) {x = nextX;nextX = 1/(2+x);}x = 1+x;System.out.println(x);System.out.println(x==Math.sqrt(2d));}
}

  结果是:

1.4142135623730951
true

迭代原理

  连分数迭代法的原理是什么?假设求y\sqrt{y}y,小于y\sqrt{y}y的最大整数为aaa,y\sqrt{y}y的小数部分是x=y−ax=\sqrt{y}-ax=ya,那么就有:
y−a=x(y−a)(y+a)=y−a2(x+2a)x=y−a2x=y−a22a+x \sqrt{y}-a=x\\ (\sqrt{y}-a)(\sqrt{y}+a)=y-a^2\\ (x+2a)x=y-a^2\\ x=\frac{y-a^2}{2a+x}\\ ya=x(ya)(y+a)=ya2(x+2a)x=ya2x=2a+xya2
这样小数部分的迭代公式就出来了:
x=y−a22a+y−a22a+y−a22a+y−a22a+⋯ x=\frac{y-a^2}{2a+\frac{y-a^2}{2a+\frac{y-a^2}{2a+\frac{y-a^2}{2a+\cdots}}}}\\ x=2a+2a+2a+2a+ya2ya2ya2ya2
我们用这个求一下任意正整数的平方根试试:

/*** 求根号2* 2025-11-11** @author 醒过来摸鱼*/
public class Sqrt {public static void main(String[] args) {double x = sqrt(14);System.out.println(x);System.out.println(x == Math.sqrt(14));}public static double sqrt(int y) {if (y < 1) {throw new IllegalArgumentException("请输入正整数");}int a = getA(y);int numerator = y - a * a;double x = 1d;while (true) {double newX = numerator / (2 * a + x);if (Math.abs(newX - x) < 1e-15) {break;}x = newX;}return a + x;}private static int getA(int y) {int i = 0;while (i * i < y) {i++;}return i - 1;}
}

 emsp;虽然算出来与API算出来的14\sqrt{14}14有误差,但是也可以接受:

3.7416573867739418
false

  当然,本文的目的不是为了单纯计算正整数的平方根,而是为了引出高次方差的数值解法。

http://www.dtcms.com/a/599366.html

相关文章:

  • P3803 【模板】多项式乘法(FFT)
  • 网站域名哪里买找百度做的网站可以过户
  • 平面图设计网站太原广告公司网站建设
  • 外贸 网站外链交换做网站的图片是怎么做的
  • 资讯网站优化排名商业信息
  • 国外网页素材网站新型网站建设
  • 怎么做谷歌这样的网站吗同一个服务器的网站做有链
  • 网站建设企业服务文库网站开发教程
  • 一个网站需要多少容量加大门户网站安全制度建设
  • 学习笔记七:线性回归
  • 济南设计网站网件路由器说明书
  • 六盘水市网站建设发布 php 微网站
  • 自己做卖东西网站网站规划名词解释
  • 公司网站本地如何弄yanderedev wordpress
  • XBOX模拟器 Xemu模拟器最新版 附BIOS、MCPX 和 HDD 镜像文件和Xbox中文游戏全集
  • 19.模型微调——全参微调qwen-72B显存估计
  • wordpress站点运行时间成都设计平台
  • 亚马逊做超链接的网站电子商务网站规划与网页制作
  • 网站管理规划方案商城网站建设资讯
  • 网站开发公司选择高端的培训行业网站开发
  • 那些网站做推广抖音代运营怎么样
  • 网站首页html代码的wordpress使用置顶文章没用
  • 中国建设银行有哪些招聘网站krypt免费wordpress空间
  • 页面设计的要求网站自然排名怎么优化
  • 餐饮vi设计网站网站聚合页面
  • 免费一级域名网站平阴县网站建设
  • 建设网站的主要流程济南官网优化推广
  • 南昌网站建设和推广书香校园网站建设
  • 手机软件下载网站wap模板建设网站企业网上银行登录入口官方
  • 网站注册费用需要多钱大连 做网站