面试题总结16 对一个整数开根号
生活随笔
收集整理的這篇文章主要介紹了
面试题总结16 对一个整数开根号
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目:求一個(gè)整數(shù)n,通過加減乘除來求其根號(hào)。
分析:查找資料發(fā)現(xiàn)這類問題有一種很通用的方法,牛頓迭代法,迭代公式為:Xn+1 = 1/2*(Xn+n/Xn) ,Xn+1為下標(biāo)。
推導(dǎo)過程:
設(shè)f(x) = n - x^2,求導(dǎo)f'(x)=2*x。
圖像上來看對(duì)一個(gè)函數(shù)求導(dǎo)為f'(Xn) = (0-f(Xn))/(X(n+1)-Xn) = (n-Xn^2)/(X(n+1)-Xn)。
可以推導(dǎo)出上式。當(dāng)Xn和Xn+1的差的絕對(duì)值小于某個(gè)閾值時(shí)停止。
同樣的思想可以求一個(gè)數(shù)的開立方等。
總結(jié)
以上是生活随笔為你收集整理的面试题总结16 对一个整数开根号的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 烙饼问题与搜索树
- 下一篇: 【编程之美】24点游戏