Returns digits of the float, not the float itself (ie. no decimal points). Doesn't work with numbers whose square is an integer (9, 16, 25...) Can accept float (non-whole-number) inputs. No variables are used. You can configure the precision inside (default = 15).
http://www.afjarvis.staff.shef.ac.uk/maths/jarvisspec02.pdf Initial step: Let a = 5n (this multiplication by 5 is the only time when an operation other than addition and subtraction is involved!), and put b = 5. Repeated steps: (R1) If a ≥ b, replace a with a − b, and add 10 to b. (R2) If a < b, add two zeroes to the end of a, and add a zero to b just before the final digit (which will always be ‘5’). Conclusion: Then the digits of b approach more and more closely the digits of the square root of n.