
前田稔(Maeda Minoru)の超初心者のプログラム入門
![]()
![]()
|
xw= x/x1; x1= (x1+xw)/2.0; |
| 値 | Sqrt(N) | 暗記方法 | 文章表現 |
|---|---|---|---|
| 2 | 141421356 | ひとよひとよにひとみごろ | 一夜一夜に人見ごろ |
| 3 | 17320508 | ひとなみにおごれや | 人並みのおごれや |
| 4 | 2 | ||
| 5 | 22360679 | ふじさんろくおおむなく | 富士山麓オーム鳴く |
| 6 | 2449489 | によよくよく | 似よ良く良く |
| 7 | 264575 | なにむしいない | 菜に虫いない |
| 8 | 2828 | にやにや | にやにや |
| 9 | 3 | ||
| 10 | 3162277 | みいろにならぶや | 三色に並ぶや |
![]()
/*★ ニュートンラプソンで平方根を計算する 前田 稔 ★*/
#include <stdio.h>
// Function Prototype
double Sqrt(double x);
//★ MAIN PROGRAM
int main()
{ double x;
for(x=2.0; x<10.0; x++) Sqrt(x);
return(0);
}
// SQRT() 関数
double Sqrt(double x)
{ double x1,xw;
int i;
printf("\nSQRT(x=%f)\n",x);
x1= x;
for(i=0; i<5; i++)
{ xw= x/x1;
printf("I=%d x1=%f x/x1=%f",i,x1,xw);
x1= (x1+xw)/2.0;
printf(" ANS(%f)\n",x1);
}
return(x1);
}
|
![]()
SQRT(x=2.000000) I=0 x1=2.000000 x/x1=1.000000 ANS(1.500000) I=1 x1=1.500000 x/x1=1.333333 ANS(1.416667) I=2 x1=1.416667 x/x1=1.411765 ANS(1.414216) I=3 x1=1.414216 x/x1=1.414211 ANS(1.414214) I=4 x1=1.414214 x/x1=1.414214 ANS(1.414214) SQRT(x=3.000000) I=0 x1=3.000000 x/x1=1.000000 ANS(2.000000) I=1 x1=2.000000 x/x1=1.500000 ANS(1.750000) I=2 x1=1.750000 x/x1=1.714286 ANS(1.732143) I=3 x1=1.732143 x/x1=1.731959 ANS(1.732051) I=4 x1=1.732051 x/x1=1.732051 ANS(1.732051) SQRT(x=4.000000) I=0 x1=4.000000 x/x1=1.000000 ANS(2.500000) I=1 x1=2.500000 x/x1=1.600000 ANS(2.050000) I=2 x1=2.050000 x/x1=1.951220 ANS(2.000610) I=3 x1=2.000610 x/x1=1.999390 ANS(2.000000) I=4 x1=2.000000 x/x1=2.000000 ANS(2.000000) SQRT(x=5.000000) I=0 x1=5.000000 x/x1=1.000000 ANS(3.000000) I=1 x1=3.000000 x/x1=1.666667 ANS(2.333333) I=2 x1=2.333333 x/x1=2.142857 ANS(2.238095) I=3 x1=2.238095 x/x1=2.234043 ANS(2.236069) I=4 x1=2.236069 x/x1=2.236067 ANS(2.236068) SQRT(x=6.000000) I=0 x1=6.000000 x/x1=1.000000 ANS(3.500000) I=1 x1=3.500000 x/x1=1.714286 ANS(2.607143) I=2 x1=2.607143 x/x1=2.301370 ANS(2.454256) I=3 x1=2.454256 x/x1=2.444732 ANS(2.449494) I=4 x1=2.449494 x/x1=2.449485 ANS(2.449490) SQRT(x=7.000000) I=0 x1=7.000000 x/x1=1.000000 ANS(4.000000) I=1 x1=4.000000 x/x1=1.750000 ANS(2.875000) I=2 x1=2.875000 x/x1=2.434783 ANS(2.654891) I=3 x1=2.654891 x/x1=2.636643 ANS(2.645767) I=4 x1=2.645767 x/x1=2.645736 ANS(2.645751) SQRT(x=8.000000) I=0 x1=8.000000 x/x1=1.000000 ANS(4.500000) I=1 x1=4.500000 x/x1=1.777778 ANS(3.138889) I=2 x1=3.138889 x/x1=2.548673 ANS(2.843781) I=3 x1=2.843781 x/x1=2.813156 ANS(2.828469) I=4 x1=2.828469 x/x1=2.828386 ANS(2.828427) SQRT(x=9.000000) I=0 x1=9.000000 x/x1=1.000000 ANS(5.000000) I=1 x1=5.000000 x/x1=1.800000 ANS(3.400000) I=2 x1=3.400000 x/x1=2.647059 ANS(3.023529) I=3 x1=3.023529 x/x1=2.976654 ANS(3.000092) I=4 x1=3.000092 x/x1=2.999908 ANS(3.000000) SQRT(x=10.000000) I=0 x1=10.000000 x/x1=1.000000 ANS(5.500000) I=1 x1=5.500000 x/x1=1.818182 ANS(3.659091) I=2 x1=3.659091 x/x1=2.732919 ANS(3.196005) I=3 x1=3.196005 x/x1=3.128906 ANS(3.162456) I=4 x1=3.162456 x/x1=3.162100 ANS(3.162278) |
![]()