牛頓迭代法在JDK源碼中的應(yīng)用

最近復習關(guān)于Java的知識搏存,想起一個有趣的問題:可以自己實現(xiàn)一個JDK嗎?

隨著最近的閱讀源碼仑乌,問題自然而然有了答案兑燥,當然可以亮瓷,只不過Sun公司已經(jīng)將它開源并與廣大程序員一起維護,沒必要重復造輪子了降瞳。
java.util.Math包中判斷一個數(shù)為素數(shù)的方法和求平方根的方法嘱支,其中判斷為素數(shù)的方法感覺思路比較新穎,可以借鑒挣饥,求平方根用到了牛頓迭代法除师。
判斷一個數(shù)是否為素數(shù)(源代碼):

//true代表素數(shù)
public static boolean isPrime(int N){
  if(N<2){
    return false;
  }
  for(int i=2;i*i<=N;i++){
    if(N%i==0){
      return false;
    }
  }
  return true;
}

求平方根(源代碼):

public static double sqrt(double c){
  if(c<0) return Double.NaN;
  double err = 1e-15;
  double t = c;
  while(Math.abs(t-c/t)>err*t)
     t = (c/t+t) /2.0;
  return t;
}

http://www.matongxue.com/madocs/205.html#/madoc
個人理解:構(gòu)造二次函數(shù)f(x)=x^2-c,求平方根轉(zhuǎn)化為求x
f '(x) = 2x 所以在(c,c2-c)的切線y-(c2-c)=(2c)(x-c) 使y=0解得x=c/2+1/2=c/2+0.5
依次類推,直至滿足條件Math.abs(t-c/t)<=err*t 此條件正在研究什么含義扔枫,留待后補
原理圖:圖片來自上文博客汛聚,侵權(quán)即刪

1.jpg
2.jpg
3.jpg
4.jpg
5.jpg
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市短荐,隨后出現(xiàn)的幾起案子倚舀,更是在濱河造成了極大的恐慌叹哭,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件痕貌,死亡現(xiàn)場離奇詭異风罩,居然都是意外死亡,警方通過查閱死者的電腦和手機舵稠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進店門超升,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人哺徊,你說我怎么就攤上這事室琢。” “怎么了落追?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵研乒,是天一觀的道長。 經(jīng)常有香客問我淋硝,道長,這世上最難降的妖魔是什么宽菜? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任谣膳,我火速辦了婚禮,結(jié)果婚禮上铅乡,老公的妹妹穿的比我還像新娘继谚。我一直安慰自己,他們只是感情好阵幸,可當我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布花履。 她就那樣靜靜地躺著,像睡著了一般挚赊。 火紅的嫁衣襯著肌膚如雪诡壁。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天荠割,我揣著相機與錄音妹卿,去河邊找鬼。 笑死蔑鹦,一個胖子當著我的面吹牛夺克,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播嚎朽,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼铺纽,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了哟忍?” 一聲冷哼從身側(cè)響起狡门,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤陷寝,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后融撞,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體盼铁,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年尝偎,在試婚紗的時候發(fā)現(xiàn)自己被綠了饶火。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡致扯,死狀恐怖肤寝,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情抖僵,我是刑警寧澤鲤看,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站耍群,受9級特大地震影響义桂,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蹈垢,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一慷吊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧曹抬,春花似錦溉瓶、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至张足,卻和暖如春触创,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背为牍。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工嗅榕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人吵聪。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓凌那,卻偏偏與公主長得像,于是被迫代替她去往敵國和親吟逝。 傳聞我的和親對象是個殘疾皇子帽蝶,可洞房花燭夜當晚...
    茶點故事閱讀 43,527評論 2 349

推薦閱讀更多精彩內(nèi)容