I am trying to make a java program that calculates the square root of a given number. I used a mathematical formula to generate the square root called Bakhshali approximation. It states that if (N square) is the nearest perfect square to the number S. S is the number we are finding the square root for then the square root of S is calculated as follows: 1- D = S-(N square) 2- P = D/2N 3- A = N + P 4- then square root of S is approximately given by A - (p square)/2A
now in my program i have written the above calculations but the problem i am facing now is how to make my program selects the nearest perfect square.
i have tried to take a while loop to find the squares of the numbers less than or equal to the value of S. then comparing these squares one by one with S until i get the nearest square.
i know it my code has a lot of errors but would any one suggest something. I would appreciate your help.
Omar Salem Add code tags. CR[/edit] [ December 04, 2008: Message edited by: Campbell Ritchie ]
Not familiar with the method, but d/2*N should surely read d/2/N. You have declared N inside the block; it will go out of scope and vanish when you try to use it later. Sorry I can't help any more.
Joined: Aug 22, 2006
Thanks for you both......I already know that there is a Math.sqrt() method but that would calculate the square root for me. what i am trying to do is to make my program calculate the square root without using any built in methods.