数学库也不大为什么不用呢? 你的RAM和ROM有那么小么,太小自己在片外扩充下,估计你用51的。

高数中有无穷级数展开,可以用无穷级数逼近一个函数的值。

二项展开式: (1+x)^m = 1 + m*x + [m*(m-1)/2!]*x^2 + ... + [m*(m-1)...*(m-n+1)/n!]*x^n + ...

(-1 < x < 1)

x,m取合适的值可以算任何数的任意次方,这种麦克劳林展开式取有限项后余项|R(x)| < e^|x| * |x|^(n+1)/(n+1)!

用这个余项上限可以做误差分析。

我百度了一下搜到这些算法:

算法1:

假设被开放数为a,如果用sqrt(a)表示根号a 那么((sqrt(x)-sqrt(a/x))^2=0的根就是sqrt(a)

变形得

sqrt(a)=(x+a/x)/2

所以你只需设置一个约等于(x+a/x)/2的初始值,代入上面公式,可以得到一个更加近似的值,再将它代入,就得到一个更加精确的值……依此方法,最后得到一个足够精度的(x+a/x)/2的值。

如:计算sqrt(5)

设初值为2

1)sqrt(5)=(2+5/2)/2=2.25

2)sqrt(5)=(2.25+5/2.25)/2=2.236111

3)sqrt(5)=(2.236111+5/2.236111)/2=2.236068

这三步所得的结果和sqrt(5)相差已经小于0.001

或者可以用二分法:

设f(x)=x^2-a

那么sqrt(a)就是f(x)=0的根。

你可以先找两个正值m,n使f(m)<0,f(n)>0

根据函数的单调性,sqrt(a)就在区间(m,n)间。

然后计算(m+n)/2,计算f((m+n)/2),如果它大于零,那么sqrt(a)就在区间(m,(m+n)/2)之间。

小于零,就在((m+n)/2,n)之间,如果等于零,那么(m+n)/2当然就是sqrt(a)。这样重复几次,你可以把sqrt(a)存在的范围一步步缩小,在最后足够精确的区间内随便取一个值,它就约等于sqrt(a)。

c语言程序开平方,关于开平方的c程序相关推荐

  1. 程序员语言也有鄙视链!某美团程序员爆料:筛选简历时,用go语言的基本不看!网友:当韭菜还当出优越感了!...

    程序员使用的语言有鄙视链吗?有人说有,有人说没有.一个美团员工发帖说,筛选简历时用go语言的基本不看.短短一句话,把对go语言的鄙视体现得淋漓尽致,难道go语言真的不如其他语言? 和他一样想法的前阿里 ...

  2. 关于C#开发山寨操作系统,程序语言,浏览器,IDE,Office,Photoshop等大型程序的可行性歪论及意义...

    首先,起这么个大标题不是为了眼球,也决非本人自大,本人对技术是很一般的也就是个普通人.不过因为受一些言论,贴子,新闻等综合思考而产生. 有些人认为C#这不行那不行,只能做做"企业管理&quo ...

  3. error C2057: expected constant expression (C语言中数组的大小可以在程序运行时定义吗? )

    数组的大小可以在程序运行时定义吗? 不.在数组的定义中,数组的大小必须是编译时可知的,不能是在程序运行时才可知的.例如,假设i是一个变量,你就不能用i去定义一个数组的大小: char array[i] ...

  4. java语言与www技术形成性考核册_电大Java语言与WWW技术形成性考核程序题

    电大JAVA语言与WWW技术形成性考核程序题一.写出下列程序完成的功能1.PUBLICCLASSSUM{PUBLICSTATICVOIDMAINSTRINGARGS{INTSUM0FORINTI1IM ...

  5. c语言循环程序设计教案,10 《C语言程序设计》教案 第三章 程序的控制结构(6)—循环结构 while和do while.doc...

    10 <C语言程序设计>教案 第三章 程序的控制结构(6)-循环结构 while和do while.doc C 语言程序设计课程教案表 授课题目 第三章 程序的控制结构 (6) 循环结构 ...

  6. c语言如何快速看懂别人的程序,探究如何快速看懂单片机程序方法

    在现实中,我相信有很多刚刚接触单片机的同学,简直是无从下手,打开一个程序,更会被复杂的结构和密密麻麻的代码吓到,产生退缩的想法,这篇文章带你了解一下单片机程序. 我对单片机的总结:"单片机其 ...

  7. c语言pow函数用法_C语言基础的不能再基础的程序知识!“hello world”!

    涉及到的知识点有:include有两种用法.{}大括号用法解释.C语言自定义名字的要求. c语言库函数printf的解释.编译错误有两种.调用system函数.c语言编译过程. 操作系统结构.指令集中 ...

  8. c语言课设报告时钟vc环境,C语言课程设计报告模拟时钟转动程序

    C语言课程设计报告模拟时钟转动程序 课程设计报告题 目 课 程 名 称 结构化程序设计课程设计 院 部 名 称 专 业 班 级 学 生 姓 名 王蕾 学 号 课程设计地点 课程设计学时 指 导 教 师 ...

  9. c语言if else语句_查找C程序的输出(如果为else语句)| 设置1

    c语言if else语句 Find the output of the following programs, 查找以下程序的输出, Program 1) 程序1) #include <stdi ...

  10. c语言课设报告时钟vc环境,C语言课程设计报告模拟时钟转动程序.doc

    C语言课程设计报告模拟时钟转动程序 PAGE 课程设计报告 题 目 课 程 名 称 结构化程序设计课程设计 院 部 名 称 专 业 班 级 学 生 姓 名 王蕾 学 号 课程设计地点 课程设计学时 指 ...

最新文章

  1. Cytoscape制作带bar图和pie图节点的网络图
  2. ExecutorService线程池
  3. 使用PowerDesigner设计物理模型并运行脚本检查模型图解
  4. ue4 classuobject没有成员beginplay_UE4中蓝图函数的泛型
  5. JZOJ 3822. 【NOIP2014模拟9.9】逆光
  6. 素数 乘法表 闰年
  7. (二)docker安装并持久化postgresql数据库
  8. C语言面试题分享(2)
  9. accept 返回0_使用Vue3.0新特性造轮子 WidgetUI3.0 (Upload上传文件组件)
  10. kindeditor编辑器
  11. 推荐一种优秀的数据结构技巧
  12. 缓冲区溢出原理及防护
  13. python语法笔记-linux
  14. single-spa
  15. 2021牛客多校10 F Train Wreck(搜索,优先队列)
  16. VTK笔记——医学图像等值面提取(Marching Cubes)
  17. java让字体闪动_java 字体闪烁
  18. 公寓宽带服务器无响应,利用RLDP协议解决网络环路故障
  19. 【ROM制作工具】V1.0.0.23新版全新发布啦
  20. 基于Canal+kafka监听数据库变化的最佳实践

热门文章

  1. 2022-2028年中国粘胶纤维市场投资分析及前景预测报告
  2. 2022-2028年中国麻纺织业投资分析及前景预测报告
  3. python2 安装faiss-gpu 报错 faiss/faiss/python/swigfaiss.i:241: Error: Unable to find ‘faiss/impl/platfo
  4. c语言函数传参时候的类型强制装换
  5. 分享2020 几个好用的ip地址归属地查询
  6. CUDA 8的混合精度编程
  7. Nucleus-SE迁移:未实现的设施和兼容性
  8. ADAS处理器集成功能安全单片机MCU
  9. 在PC机上运行的linux系统是,Docker Desktop如何在Windows计算机上运行linux容...
  10. flutter导入第三方库