关于开平方方法的研究

手动开平方和立方 一、序言         初中的时候数学老师教我们手动开平方,当时觉着很震惊,验证了好几遍,发现方法真的很牛!如今上了研究生,回想起以前手动开平方的方法都已经很模糊了,今天查了下百度,才发现,这个方法出自《九章算术》!原来中国几千年前就已经找到这种方法了! 二、手动开平方        九章算术上是如此描述的: 开方术曰:         置积为实。借一算。步之。超一等。议所得。以一乘所 阅读详情

关于开方的研究

怎么说呢,这个开方的方法是自己初中的时候无意间研究发现的吧,这个方法只能开能开出来的数字,对于不能开出来的就没办法了,至于按照这种方法得到的是不是它的近似解,后来也没有去证明了。最近突然给我妹妹补课,讲到这个方法,突然想起来要把它写出来。也提供一种思路吧,有兴趣的人可以往后研究下。
首先100以内的数字的开方肯定不用说了, 中国人都背熟了。本文主要就是针对100-1000之间的数字的开平方,做了一下研究。

前提

前面已经说了,本文研究的范围是(100,10000)区间的数字。由于我们知道10的平方为100,100的平方为10000,所以在这个区间之内的数字开方之后得到的都是两位数(包含个位,十位)。当然这里对于开方后不是整数的不作研究,我们只给出证明其开方结果是否正确的证明。详细见后文

知识储备

首先我们要知道以下的数字平方后的规律:

数字平方末位
11
24
39
46
55
66
79
84
91
00

在这个表中,平方后的末位中有0,1,4,5,6,9。没有其他的数字,所以当我们看到末位是其他数字的时候,那肯定就不能开整数根了。同时也可以看到两个互补的数(相加为10)他们平方的末位都是一样的,这点对我们后面的试开根很重要。要掌握下面的开方法,以上的基础知识是必要的。

开方方法

  • 三位数开方法
    如图所示,比如我们对676这个数字进行开平方根,我们利用上面的表格里的末位数字进行检验,发现6在其中,所以可能可以开出整数根,于是对他尝试进行开方。首先利用如图的算式,将数字从后面分,后两位在一起,百位单独在一起,分成两部分,然后从左到右进行开方。首先对6进行试开根。最大能开到2,因为2的平方为4,3的平方为9,所以对其试开2,记为a,并写在右边。
    这里写图片描述
    然后将2的平方写在第一部分下,并用第一部分减去他,这里也就是用6减去4等于2,我们姑且叫它首差吧。此时我们对后面的进行时开根。发现末位6 只能是4或者6的平方得到的数字,但是究竟是4,还是6呢,这里我给出一个方法,但是本人没有对其进行严格的证明,不过试过了很多次没有错误,如果有大神能帮我证明下,必定感激不尽。这个时候我们来比首差跟开出来的第一个数字2对比,如果首差大于或等于开出来的第一个数字那么我们就选打大的,否则选小的那个,在这里2>=2,所以我们选择6作为后面部分开出来的值,记为b。于是我们就认为这个结果就是26,但是究竟是不是还需要验证。此时我们对6进行平方得到36,写在第二部分的下面,并得到后面部分的差40,最终得到整体的差240,然后我们只需要证明我们开出来的值的ab,计算20*a*b?=240,如果等式成立,那么我们开出来的就是对的,否则这个数字不能开出整数根,后面给出这个验算方法的原理。
  • 四位数开方法
    四位数的开方法跟三位数的一样,只是在第一次分的时候前面部分是两个数字,后面部分也是两个数字,其他的步骤都是一样的,这里就不在 做详细的阐述。

对验算方法的证明

首先我们给出标记:ab=a*10+b,其中a,b为0-9的数字。则(ab)(ab)=(a*10+b)(a*10+b)=100a*a+b*b+20*a*b。
如果我们开方得到的是正确答案的话,也就是如果我们得到的ab是正确的,那么他一定满足上面的公式。而我们上面做的减法其实就是用(ab)*(ab)-100a*a-b*b,所以只需要检验这个差是不是为20*a*b即可。

展望,后记

本人在此基础上做过一些对两位及两位以下数字的立方进行开立方的研究,操作跟以上方法基本类似,也得到了一些不错的效果,只是后来并没有深入研究了。本来打算后来慢慢研究的,随着后面学习的紧张,以及步入高中学业难度的增加,也就没再去研究的时间。到了大学没有做数学方面的研究。渐渐的也没有那么感兴趣了。今天写出来就算是跟大家分享一下。

浮点数开平方的几种算法 本文介绍了四种直接计算开平方的算法:分贝是牛顿迭代法、二分法、梯度下降法、泰勒级数法。首先从原理上进行推导,然后编程实现这些算法,分析了这些算法的特点。 阅读详情

相关推荐

从牛顿迭代到魔数:C语言实现高效开平方的算法演进与实战

本文深入探讨了C语言中高效开平方算法的演进历程,重点分析了牛顿迭代法、位运算算法和卡马克快速开平方算法的实现与优化技巧。通过详细的代码示例和性能对比,展示了不同算法在精度与速度上的权衡,帮助开发者根据具体硬件平台选择最优解决方案。特别适合嵌入式系统和实时计算场景的应用开发。

weixin_30907935的博客 537

开平方的 7 种算法

作者:nash_链接:https://blog.youkuaiyun.com/zmazon/article/details/8217866sqrt()函数,是绝大部分语言支持的常用函数,它实现的是开...

zandaoguang的博客 2493

从《雷神之锤》到单片机:深入剖析卡马克快速开平方算法(附C代码实现)

本文深入剖析了卡马克快速开平方算法的原理与应用,从《雷神之锤》游戏优化到嵌入式系统的性能提升。通过详细的C代码实现和性能对比,展示了该算法在资源受限环境中的高效表现,特别适合需要快速开平方运算的实时应用场景。

weixin_33681778的博客 476

开方算法的设计与实现

1.算法原理 使用二分法对开方进行运算。 2.算法描述 采用small进行标记开方结果所在区域的最小值,采用bigger进行标记开方结果所在区域的最大值,运用二分法对开方结果所在区域,进行缩小(逼近),再运用while循环实现对开方结果精确度进行控制;最后再主函数中用scanner方法从键盘上输入被开方数x,即可求解; 3.算法实现 importjava.util.Scanner...

一点一滴铺就人生 1669

R语言时间序列数据算术运算:使用log函数将时间序列数据的数值对数化(平方、开平方、指数化等函数类似使用)

R语言时间序列数据算术运算:使用log函数将时间序列数据的数值对数化(平方、开平方、指数化等函数类似使用)

statistics+insight+vista+power 2303

MD01和MD01N比较

摘要:MD01(传统MRP)与MD01N(MRP Live)是SAP系统不同版本的物料需求计划事务码。核心差异包括:MD01N取消MRP列表、简化计划规则、合并MPS/MRP操作、采用BAdI技术等,体现S/4HANA平台简化、标准化和智能化的演进方向。MD01N通过优化参数配置、增强筛选功能、利用HANA实时计算能力,实现了更高效的物料计划流程,代表了新一代计划引擎的技术革新。

SAP_LES_COM的博客 891

最快的开方算法(中值定理法)

http://nc965.bokee.com/viewdiary.14299837.html关键词:最快 开平方根 算法 中值定理 开方 整数平方数中值定理:设a、b、c为顺序排列间距为P的3个整数,A、B、C是它们的平方则有:b2=(a 2+c2)/2-R,即:B=(A+C)/2-R其中:修正值R=P2特别地,如果间隔P=1、2、 4、 8、 16、…2 n (或Pn

7101

Quantum Espresso Hands-On实战训练(四)——PDOS计算与轨道分析

本文详细介绍了Quantum Espresso中PDOS计算与轨道分析的实战方法,重点解析了PDOS在材料电子结构研究中的核心价值,包括原子级分辨率、轨道级解析和自旋极化分析。通过具体案例和操作步骤,帮助读者掌握从输入文件准备到结果解读的全流程,并提供了高级分析技巧和疑难问题解决方案。

weixin_29211309的博客 504

BigDicemal加减乘除、保留小数、平方开方、比较大小

BigDicemal加减乘除、保留小数、平方开方、比较大小

m0_73493077的博客 1522

华为使用MicroG安装并使用Google服务教程

鉴于众多华为手机用户因无法使用Google服务而感到不便,我经过多次摸索和测试,总结了一份简单易懂的教程,希望能够帮助到大家。无论是需要使用Google Play商店下载应用,还是需要使用Google服务进行工作和学习,本文将详细介绍如何在华为手机上安装并使用Google服务。二、前置条件软件要求:Aurora Store(替代Google Play商店)、MicroG Companion、MicroG Server(替代Google框架)

weixin_41926602的博客 3万+

车载机器人终极解决方案:从功能叠加到生态融合的颠覆性变革

本文提出一种融合智能汽车与家居技术的车载机器人架构。其创新点包括:1)基于多模态传感器的拟人化硬件设计,实现声源定位误差<5°、体温检测精度±0.3℃;2)跨模态情感计算引擎,综合面部表情、心率等数据构建三维情绪模型;3)协议自适应中间件,支持小米、华为等多品牌智能家居设备即插即用;4)环境自适应舵机控制,-30℃环境下扭矩保持率达92.5%。测试数据显示,该方案使交互步骤减少60%,用户满意度提升58%,日均使用时长增加2.3倍,为"人-车-家"生态融合提供了可行技术路径。

qq_42671193的博客 1125

Java BigDecimal开方

一般开平方使用的是Math中的静态方法`Math.sqrt(double a)`,涉及到金融计算的时候,`Math.sqrt(double a)`精度就不够了。金融领域的计算,用的都是BigDecimal类型。然而BigDecimal对于数字开平方没提供有效的方法。

2025博客之星Top81。专注AI工程化与架构实战。从分布式思维到模型部署,用工程化视角为你厘清AI落地的真实路径。 2万+

gmsv源代码c语言,石器时代ABLua的原理、简介、过程、运用、收发

操作原理(一)服务端:服务器源文件客户端:客户所操作的程序(既是游戏客户端)接口:既是某项功能(例如:鼠标点击,文字发送,战斗,观战,人物动作等)返回的值ABlua:在源代码中添加的整套引擎作为回调接口--lua所实现的功能是基于服务端源码添加的接口由该接口与客户端发送封包实现功能源码里是否有ABlua回调接口?例如:源码里的gmsv/battle.c文件(既是战斗回调文件)以下为简单描述C给予l...

weixin_35223575的博客 2408

肖恩的n次根

喜欢研究数学问题的肖恩注意到,在编程语言中通常内置函数只有开平方根和开立方根,但是肖思想知道开高次方根(大于3次方称为高次方),应该怎么做。请你设计一个程序来帮帮肖恩。5 开 3 次方根的结果保留五位小数是 1.70998,乘 1000 得到 1709.98,保留整数以后得到 1709。总通过次数: 261 | 总提交次数: 282 | 通过率: 92.6%次方根的值乘1000后保留整数的结果。难度: 中等 标签: 思维, 二分。

zqystca的博客 414

CVPR2021 CenterPoint源码解读:从VoxelNet到两阶段优化的完整实现细节

本文深度解析了CVPR 2021 CenterPoint模型的完整实现细节,从VoxelNet体素化、稀疏卷积Backbone,到基于中心点的检测头与两阶段精修机制。文章提供了从环境搭建、数据预处理到核心代码模块(如热力图生成、关键点特征提取与MLP Refiner)的实战指南,并分享了训练策略、多任务损失调优及可视化调试等关键工程实践,助力开发者深入理解并复现这一高效的3D目标检测框架。

linux的博客 470

【MIT-BEVFusion代码解读】第四篇:融合特征fuser和解码特征decoder

的大小,实际上源代码也是这么做的。最后将得到两个分支的特征进行。,第一个特征使用卷积降低通道数即可,第二个则需要反卷积来提升。所以backbone只有两个分支,都是5个卷积模块组成。的长和宽都减半至90,然后在经过5个相同的。将通道降至128,后面再接5个相同的。,将通道数128上至256,并且将。特征进行融合,这里使用的。部分由两部分组成,分别是。,这个分支首先经过第一个。,然后再卷积得到 =>提取特征,最后得到特征。得到了两个大小不同的。

非晚非晚的博客 2954

c语言浮点数高精度求平方根,快速高精度的二进制浮点数开平方算法

1引盲开平方运算在用徽机、单片机等构成的实时控制系统和测量仪器中有着广泛的应用。开平方运算的实现方法有多种:如牛顿迭代法、查表法、直线逼近法(线性化方法)和减奇数法等。对于查表法,当被开方数变化范围较大时,提高运算精度和减少内存占用量是相矛盾的;直线逼近法需要存贮各段线性逼近函数的斜率和截距值。当要求的运算精度增加时,线性段的划分越密,运算处理时间随着增加;牛顿迭代法是一种一致收敛的开平方算法,若...

weixin_39870664的博客 1308

PythonOCC基础使用:建模——倒角倒圆(二维+三维)

占坑

weixin_42755384的博客 4638

快速开平方取倒数的算法

Quake-III Arena (雷神之锤3)是90年代的经典游戏之一。 该系列的游戏不但画面和内容不错,而且即使计算机配置低,也能极其流畅地运行。这要归功于它3D引擎的开发者约翰-卡马克(John Carmack)。事实上早在90年代初DOS时代,只要能在PC上搞个小动画都能让人惊叹一番的时候,John Carmack就推出了石破天惊的Castle Wolfstein, 然后再接再励,d...

ViV587的博客 1616

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

开方算法 最最最优化的解法 大神啊~~

void m2n(int m, char* mNum, int n, char* nNum) { int i = 0; char c, *p = nNum; //这是一个考察地方,是否能用最少乘法次数。 while (*mNum != '\0') i = i*m + *mNum++ - '0'; //辗...

weixin_30376083的博客 219

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

神秘的0x5f3759df之卡马克的开平方算法

通过《DOOM启示录》 了解了卡马克和罗梅洛的传奇故事...这是卡马克的一个开平方算法... float kamake_sqr(float number) { long i; float x, y; const float f = 1.5F; x = number * 0.5F; y = number;

4273

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

普通计算机怎么算根号_根号一个数字怎么算出来?

笔算开平方方法不用平方根表和计算器,可不可以求出一个数的平方根呢?==================先一起来研究一下,怎样求,这里1156是四位数,所以它的算术平方根的整数部分是两位数,且易观察出其中的十位数是3.于是问题的关键在于;怎样求出它的个位数a?为此,我们从a所满足的关系式来进行分析.根据两数和的平方公式,可以得到1156=(30 a)^2=30^2+2×30a+a^2,所以 1156...

weixin_33198642的博客 3186

『天梯赛』Java中常见的方法(持续更新中ing)

取最大值、最小值 开平方 取次幂 🍁String类 声明(创建)一个String int转String 常用到的方法 🌳StringBuffer类 反转字符串 🌻Integer类 反转整数(一般不用) 要反转整数,可以先转成字符串,再用字符串反转的方法 数制转换 String转int 字符串转整数 第一个大家可能都比较熟悉,将一个字符串转换为十进制整数 那么重载的第二个方法怎么用呢?第一个参数的意义是:指定要转换成的整数的基数,比如第二个数指定为...

一个专注于客户端开发的技术er,不定期更新Android,Flutter,HormonyOS等方向的使用心得和感悟 1378

如何解一元一次方程视频_北师大版九上数学2.1 认识一元二次方程 知识点精讲...

扫码查看下载全部资源1.1 菱形的性质与判定1.2 矩形的性质与判定1.3 正方形的性质与判定全册教案(教学设计)知识点总结知识点一:一元二次方程的概念(1)定义:只含有一个未知数,并且未知数的最高次数是2,这样的整式方程就是一元二次方程。(2)一般表达式:(3)四个特点:(1)只含有一个未知数;(2)且未知数次数最高次数是2;(3)是整式方程.要判断一个方程是否为一元二次方程,...

weixin_31966615的博客 316

牛顿拉弗森迭代法

牛顿拉弗森迭代法 原始数学问题 ​ 在以前的数学家研究函数的根点的时候,牛顿和拉弗森分别都发现了一种使用作图来求解根点的方法。根点 --- 方程的 0 点 如下图的f(x)=x2f(x) = x ^ 2f(x)=x2 如果我们随机在定义域里面取一个值作为我们的始点 xnx_nxn​ 并且我们做一条经过 (xn,f(xn))(x_n,f(x_n))(xn​,f(xn​)) 的切线如下图 ...

sologala的博客 1195
上一篇: 电子科技大学---操作系统课程实验(二)
下一篇: 方程思想应用于化学方程式配平
木槿花雨
博客等级 码龄11年 20粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值