Re: [問題] 不用Math函式有辦法開根號嗎?

看板java作者 (YTL)時間15年前 (2009/11/06 21:04), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/10 (看更多)
static double squareRoot(double x) { int a, b, c; double sum1 = 0, sum2 = 0; if (x < 0) { errorMessage(); return -1; } for (a = (int) x; a >= 0; a--) { if (a * a <= x) { break; } } for (b = 9; b >= 0; b--) { sum1 = a + 0.1 * b; if (sum1 * sum1 <= x) { break; } } for (c = 9; c >= 0; c--) { sum2 = a + 0.1 * b + 0.01 * c; if (sum2 * sum2 <= x) { break; } } return sum2; } static void errorMessage() { System.out.println("輸入數字須為正"); } 這樣逼近也只能逼近到小數點以下兩位@@ 要再多就要更多變數才行 這是我的小想法啦,寫出來可能要給高手們看笑話了XD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.166.144.231
文章代碼(AID): #1Az1xrJM (java)
討論串 (同標題文章)
文章代碼(AID): #1Az1xrJM (java)