{{ message }}

Instantly share code, notes, and snippets.

# joelpt/squirt.js

Created Oct 2, 2012
Manually calculate the square root of a number with Javascript
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
 // The Babylonian Method // http://en.wikipedia.org/wiki/Methods_of_computing_square_roots#Babylonian_method // @param n - the number to compute the square root of // @param g - the best guess so far (can omit from initial call) function squirt(n, g) { if (!g) { // Take an initial guess at the square root g = n / 2.0; } var d = n / g; // Divide our guess into the number var ng = (d + g) / 2.0; // Use average of g and d as our new guess if (g == ng) { // The new guess is the same as the old guess; further guesses // can get no more accurate so we return this guess return g; } // Recursively solve for closer and closer approximations of the square root return squirt(n, ng); } console.log(squirt(42)); // 6.48074069840786

Well done.

### pokatomnik commented Apr 14, 2021

Such a nice function name!