\C\Advanced
sqrt.c
#include#include double j_sqrt(int n) { int i; double x, x1; i = 0; x = 0.01; x1 = 0.0; if(n == 0) return 0; if(n == 1) return 1; //for(i = 0; i < 10000; i++) while( x != x1 ) { i++; x1 = x; x = ((x + ((double)n/x))/2); printf("%.16f : %d\n", x, (i+1)); } return x; } int main() { int n; printf("\nEnter an Integer: "); scanf("%d", &n); printf("\n"); printf("\n\nThe SQRT of %d is %.16f\n\n", n, j_sqrt(n)); printf("This program uses the the following for calculations:\n"); printf("\tTheory: x < sqrt(n) < (n/x)\t(x + (n/x))/2 = x\n"); printf("\tVariables: x = 0.01 And x1 = 0.0\n"); printf("\tEquation: x = ((x + (n/x))/2)\n"); printf("\tThe Loop ( in C ):\n"); printf("\t\twhile(x != x1)\n\t\t{\n\t\t\tx = ((x + ((double)n/x))/2);\n\t\t\tif(x == x1) return x;\n\t\t\tx1 = x;\n\t\t}\n"); printf("\n\nHit any key to continue"); getch(); return 0; }