Skip to content

Instantly share code, notes, and snippets.

@arn-e
Created September 8, 2012 06:19
Show Gist options
  • Save arn-e/3672323 to your computer and use it in GitHub Desktop.
Save arn-e/3672323 to your computer and use it in GitHub Desktop.
Newton Root Work
def newton_root(n)
puts "\nvalue : #{n}"
guess = Math.sqrt(n)-4
puts "start : #{guess}"
for i in 1..9
guess = (n/guess + guess)/2
puts "guess #{i} : #{guess}"
end
puts "result : #{guess}"
return guess
end
newton_root(250)
newton_root(25)
newton_root(173889)
newton_root(8100)
newton_root(2**53+1)
newton_root(5*(8670007398507948658051921 **2)+4)
newton_root(5*(8670007398507948658051921 **2)-4)
# value : 250
# start : 11.811388300841896
# guess 1 : 16.4887007213835
# guess 2 : 15.825299406476343
# guess 3 : 15.811394415066184
# guess 4 : 15.811388300843078
# guess 5 : 15.811388300841896
# guess 6 : 15.811388300841896
# guess 7 : 15.811388300841896
# guess 8 : 15.811388300841896
# guess 9 : 15.811388300841896
# result : 15.811388300841896
# value : 25
# start : 1.0
# guess 1 : 13.0
# guess 2 : 7.461538461538462
# guess 3 : 5.406026962727994
# guess 4 : 5.015247601944898
# guess 5 : 5.000023178253949
# guess 6 : 5.000000000053722
# guess 7 : 5.0
# guess 8 : 5.0
# guess 9 : 5.0
# result : 5.0
# value : 173889
# start : 413.0
# guess 1 : 417.01937046004844
# guess 2 : 417.0000004498769
# guess 3 : 417.0
# guess 4 : 417.0
# guess 5 : 417.0
# guess 6 : 417.0
# guess 7 : 417.0
# guess 8 : 417.0
# guess 9 : 417.0
# result : 417.0
# value : 8100
# start : 86.0
# guess 1 : 90.09302325581396
# guess 2 : 90.00004802439639
# guess 3 : 90.00000000001282
# guess 4 : 90.0
# guess 5 : 90.0
# guess 6 : 90.0
# guess 7 : 90.0
# guess 8 : 90.0
# guess 9 : 90.0
# result : 90.0
# value : 9007199254740993
# start : 94906261.62425156
# guess 1 : 94906265.62425163
# guess 2 : 94906265.62425154
# guess 3 : 94906265.62425154
# guess 4 : 94906265.62425154
# guess 5 : 94906265.62425154
# guess 6 : 94906265.62425154
# guess 7 : 94906265.62425154
# guess 8 : 94906265.62425154
# guess 9 : 94906265.62425154
# result : 94906265.62425154
# value : 375845141450912838252433332577199316842733658951209
# start : 19386725908489880000000000.0
# guess 1 : 19386725908489883000000000.0
# guess 2 : 19386725908489883000000000.0
# guess 3 : 19386725908489883000000000.0
# guess 4 : 19386725908489883000000000.0
# guess 5 : 19386725908489883000000000.0
# guess 6 : 19386725908489883000000000.0
# guess 7 : 19386725908489883000000000.0
# guess 8 : 19386725908489883000000000.0
# guess 9 : 19386725908489883000000000.0
# result : 19386725908489883000000000.0
# value : 375845141450912838252433332577199316842733658951201
# start : 19386725908489880000000000.0
# guess 1 : 19386725908489883000000000.0
# guess 2 : 19386725908489883000000000.0
# guess 3 : 19386725908489883000000000.0
# guess 4 : 19386725908489883000000000.0
# guess 5 : 19386725908489883000000000.0
# guess 6 : 19386725908489883000000000.0
# guess 7 : 19386725908489883000000000.0
# guess 8 : 19386725908489883000000000.0
# guess 9 : 19386725908489883000000000.0
# result : 19386725908489883000000000.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment