Hi guys,
Here I have a program which is used to find out the square root of a number without using standard library function. This method is known as Babylonian method. You can understand the algo part with this link. The only difference which I included is about the first guess. I am taking first guess as the lowest number which have ’0' as half of the original number’s length. I think I may have confused you. so here is the example if you want to find out the root of 1600, so I will start with 10. you will have better idea once you will go through the code.
Here I have a program which is used to find out the square root of a number without using standard library function. This method is known as Babylonian method. You can understand the algo part with this link. The only difference which I included is about the first guess. I am taking first guess as the lowest number which have ’0' as half of the original number’s length. I think I may have confused you. so here is the example if you want to find out the root of 1600, so I will start with 10. you will have better idea once you will go through the code.
#include int calculateStarter(int n);main(){ int number; int answer, guess, temp; printf("Enter the number for square root\n"); scanf("%d",&number); printf("here start the processing\n"); guess = calculateStarter(number); while(1) { answer = number/guess; temp = (answer + guess)/2; printf("number = %d and guess = %d and temp = %d\n",number,guess,temp); if(guess - answer < 1) break; guess = temp; } printf("so the answer is %d\n",temp);}int calculateStarter(int n){ int temp =1; int count=0; printf("In the calculate method\n"); while (n /10 != 0) { count++; n = n/10; } //if(count%2 == 0) count = count/2 + 1; while(count >0) { temp = temp*10; count--; } printf("so the guess is %d\n",temp); return temp;}
No comments:
Post a Comment