二分法和牛顿迭代实现开根号函数:OC的实现
最近有人贴出BAT的面试题,题目链接。
就是实现系统的开根号的操作,并且要求一定的误差,其实这类题就是两种方法,二分法
和牛顿迭代
,现在用OC的方法实现如下:
第一:二分法实现
-(double)sqrt_binary:(int)num {double x = sqrt(num);double y = num / 2;double low = 0.0;double up = num;int count = 1;while (fabs(y-x) > 0.000000001) {NSLog(@"--count:%d %f",count,y);count ++;if (y * y > num) {up = y;y = low + (up - low)/2;}else{low = y;y = up -(up-low)/2;}}return y;
}//调用
double result = [self sqrt_binary:5];
NSLog(@"my result:%f--real result:%f",result,sqrt(5));
第二:牛顿迭代
-(double)sqrt_newton:(int)num {
double x = sqrt(num);
double y = num/2;
int count = 1;while (fabs(y-x) > 0.000000001) {NSLog(@"--count:%d %f",count,y);count ++;y = (y + num/y)/2.0;
}return y;
}//调用
double result = [self sqrt_newton:5];
NSLog(@"my result:%f--real result:%f",result,sqrt(5));
参考 :二分法和牛顿迭代法求平方根(Python实现)
转载于:https://www.cnblogs.com/fengtengfei/p/6211570.html
二分法和牛顿迭代实现开根号函数:OC的实现相关推荐
- 数值分析——二分法和牛顿迭代(Bisection Method Newton‘s Method)
本系列整理自博主21年秋季学期本科课程 数值分析I 的编程作业,内容相对基础,参考书: David Kincaid, Ward Cheney - Numerical Analysis Mathemat ...
- 题目:任意给定一个浮点数,计算这个浮点数的立方根。(基于二分法和牛顿迭代法)(基于Java实现)
题目:任意给定一个浮点数,计算这个浮点数的立方根.(基于二分法和牛顿迭代法)(基于Java实现) 首先,来分析一下这道题,其实在leetcode上做了求解根号3的题之后,对于这种求解立方根的题,基本上 ...
- 分别用二分法和牛顿迭代法求解方程x3 – 3x – 1 = 0在x = 2附近的实根
编写程序,分别用二分法和牛顿迭代法求解方程x3 – 3x – 1 = 0在x = 2附近的实根,要求计算精确到小数点后七位数字为止,并将求出的近似结果与理论值2cos20 相比较,二分法的初始迭代区间 ...
- 二分法和简单迭代法的优缺点_二分法和牛顿迭代法求解方程的比较.doc
您所在位置:网站首页 > 海量文档  > 高等教育 > 理学 二分法和牛顿迭代法求解方程的比较.doc5页 本文档一共 ...
- 二分法和牛顿迭代法求平方根(Python实现)
求一个数的平方根函数sqrt(int num) ,在大多数语言中都提供实现.那么要求一个数的平方根,是怎么实现的呢? 实际上求平方根的算法方法主要有两种:二分法(binary search)和牛顿迭代 ...
- 1、编写程序,分别用二分法和牛顿迭代法求解方程x3 – 3x – 1 = 0在x = 2附近的实根,要求计算精确到小数点后七位数字为止,并将求出的近似结果与理论值2cos20 相比较,二分法的初始迭代
二分法: #include<stdio.h> #include<math.h> void main() { double x,x1=1,x2=3,f1,f2,f; ...
- java开根号函数_Java中真的只有值传递么?
原创: ITwalking 转载于公众号[ 编程大道] (本文非引战或diss,只是说出自己的理解,欢迎摆正心态观看或探讨) 回顾值传递和引用传递 关于Java是值传递还是引用传递,网上有不一样的说法 ...
- python用牛顿迭代法求平方根_Python编程实现二分法和牛顿迭代法求平方根代码
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- python开根号函数图像,使用matplotlib / python的平方根刻度
I want to make a plot with square root scale using Python: However, I have no idea how to make it. M ...
- 【专题】三分法和牛顿迭代法总结
下面总结两种迭代方法:三分法和牛顿迭代 1.三分法 二分法作为分治中最常见的方法,适用于单调函数,逼近求解某点的值.但当函数是凸性函数时,二分法就无法适用,这时三分法就可以大显身手. 如下凸函数: 类 ...
最新文章
- .substr()在字符串每个字母前面加上一个1
- 从专利数量看全球最具创新力的50家公司
- 一天一点linux(9):ubuntu下如何搭建LAMP开发环境?
- buu Unencode
- 华为鸿蒙备胎转正,华为鸿蒙是备胎系统,但已经实现上网随时能转正?
- Django 学习资源
- python 判断每月最后一天_python获取某年中每个月的第一天和最后一天的两种方法...
- (转)功能测试(黑盒测试)常用的策略和方法
- 2019天津市二级计算机考试,天津市2019年9月计算机等级考试都有哪些考点可以报名?...
- 360与腾讯之争——顾客有可能成为上帝
- IntelliJ IDEA 快捷键 Mac版(个人自用最新版)
- 笔记本电脑切换不到投影仪 问题 解决方法
- 关于eclipse项目中项目上直接出现大红感叹号的问题
- 毕业一周年总结-不忘初心,砥砺前行
- vivo计算机的隐藏功能介绍,vivo手机13个隐藏功能介绍,你知道几个?
- 如何修改安卓软件的图标和名字
- broadcom linux 博客,Broadcom SDK6.4.4驱动架构简单理解
- 多视图CAD检测系统乳腺X线摄影基于案例的检测性能优化
- I2C-pcf8563
- SSM:实现用户信息的增删改和分页展示
热门文章
- 【Python】functools.lru_cache加快递归速度
- linux基础(一)——切换到root用户和普通用户
- osgi java web_基于 OSGi 和 Spring 开发 Web 应用
- lbs的核心技术都有哪些?_直击现场 | 腾讯云“揭秘智慧出行核心技术与创新实践”活动完美落幕!...
- dotenv 是什么 怎么使用
- 软件学报 流程 期刊投稿记录 状态变更 时间
- excel内容少却文件很大_Excel文件格式批量转换你会了吗?神操作!Excel文件转XPS格式...
- oracle between 和大于小于性能_2.oracle伪例+序列
- asp.net电子影像相册_大连孕妈看过来 | 290元=孕中期四维排畸+孕妇写真+胎宝电子影集...
- php的链接查询,php – 使用指向另一个查询的链接运行查询.