Java 的
12345678910111213141516171819
class Test { public float sqrt(float num) { float guess = num / 3; float lastGuess; do { lastGuess = guess; guess = (num / guess + guess) / 2; }while(Math.abs(lastGuess - guess) > 5e-15); return guess; } public static void main(String args[]) { float num = new Test().sqrt(10); System.out.println(num); }}
Ruby 的
123456789101112
def sqrt(num) guess = num / 3 begin lastGuess = guess guess = (num / guess + guess) / 2 end while ((lastGuess - guess).abs > 5e-15) guessendp sqrt(10)
Python 的
12345678910111213141516
from __future__ import divisionimport mathdef sqrt(num): guess = num / 3 while True: lastGuess = guess guess = (num / guess + guess) / 2 if math.fabs(lastGuess - guess) <= 5e-15: break return guessif __name__ == "__main__": print sqrt(10)
參考