leetcode 69. Sqrt(x)(C语言,牛顿迭代法求开方问题)46
来源:互联网 发布:网络销售什么最赚钱 编辑:程序博客网 时间:2024/06/05 20:26
贴原题:
Implement int sqrt(int x).
Compute and return the square root of x.
解析:
题目很简短,就是让写一个开方函数。
这里我运用了牛顿跌代法。
知乎有个帖子,里面有大神说得很通俗,这里贴出链接——
如何通俗易懂地讲解牛顿迭代法求开方? - 知乎https://www.zhihu.com/question/20690553
本题要注意的一点就是float精度不够用……害我纠结了半天
贴C代码:
int mySqrt(int x) { if(x<0) { return 65535;//负数没事开什么方 } double n=x;//这里给n赋值非零数即可 double m=0; while(abs(m-n)>0.0000001)//精度 { m=n; n=(n*n+x)/(2.0*n);//迭代公式 } return n;}
这里顺便贴一个二分法(仅作示例,本例应该可以解决65000以内简单开方):
unsigned int math_sqrt(unsigned int x){ unsigned char ans=0, p=0x80;//八位无符号数 while(p!=0) { ans+=p; if(ans*ans>x) { ans-=p; } p=(unsigned char)(p/2);//二分 } return ans;}
阅读全文
0 0
- leetcode 69. Sqrt(x)(C语言,牛顿迭代法求开方问题)46
- leetcode:Sqrt(x) 牛顿迭代法求整数开方
- LeetCode *** 69. Sqrt(x) 牛顿迭代法
- 牛顿迭代法求开方
- leetcode Sqrt(x) 求开方
- 【leetcode】:leetcode 69 Sqrt(x) 牛顿迭代法
- 牛顿迭代法求高精度开方
- 牛顿迭代法求开方值
- 牛顿迭代法求高精度开方
- LeetCode 69: Sqrt(x) 求根号x(牛顿迭代法和二分查找法)
- 二分法、牛顿迭代法求sqrt()
- Sqrt(x) ,二分法,牛顿迭代法
- leetcode 69. Sqrt(x) 牛顿法求平方根
- java 实现 牛顿迭代法求开方
- 通俗易懂地讲解牛顿迭代法求开方
- 牛顿迭代法求方程根--C语言
- C语言牛顿迭代法求平方根
- c语言牛顿迭代法的问题
- 从“驾驶辅助”到“无人驾驶”还需要做什么?
- Microsoft ScriptControl 控件使用指南
- 大姐夫再冲世界首富,亚马逊HQ2的赢家已经初现。。。
- 万圣节福利走一波
- 创建第一个cocos2d 应用
- leetcode 69. Sqrt(x)(C语言,牛顿迭代法求开方问题)46
- request和response的页面跳转
- 为了奥运会,科技巨头们都亮出哪些看家本领
- cf-Link/Cut Tree
- Spring Boot使用ServletFileUpload上传文件失败
- redis数据库2-高级应用
- Pthon环境搭建
- 在Docker中部署django
- IDC Q2调研报告:中国成为世界手机市场的主战场