how to test if a num is a square root?
ex: 9 is square root
3 is not square root
/////////////////////////////////////////////
//do not worry about sytax.
int x = 0; //always start at 0
int y = 101010; //is this a square root?
square(x, y){
if((x*x) >= y){ //not a square root
return false;
}
else if((x*x) == y) //it is a square root
return true;
}
else{ //inc x by 1
square(x+1, y);
}
}
this algorithm works fine when y is small int. ex 4, 10, 20.
but when i put y to be large ex 10000. than i get it to problem.
this is bc x start out with 0 and slowing get inc by 1. this takes alot of time.
is there better way to do this by using recursion? may be there is some formula that i dont know about.
android_gl
0
Newbie Poster
Recommended Answers
Jump to PostI believe the IBM guess and go algorithm which was invented in either the 1980's or the 1990's was a successful square root algorithm which is quote simple actually. As simple as the logic is it can be a pain to code so I shall explain.
Basically you get the …
All 3 Replies
ddanbe
2,724
Professional Procrastinator
Featured Poster
JamesCherrill
4,733
Most Valuable Poster
Team Colleague
Featured Poster
cwarn23
387
Occupation: Genius
Team Colleague
Featured Poster
mKorbel
commented:
interesting
+10
Be a part of the DaniWeb community
We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.