|
#include <stdio.h>
#include <math.h> // M_PI は、15桁の円周率である。( 定義は、math.hでされている ) // fabs は、小数の絶対値を求める関数である。( 定義は、math.hでされている ) int main( void ) { /* 初期化 */ unsigned int deno = 1u; // 分母 ( denominator ) unsigned int nume = 1u; // 分子 ( numerator ) double fraction; // 分数 /* 処理部 */ fraction = (double)nume / (double)deno; // 分数→小数へ変換し、代入 // fraction と M_PI の誤差が1×10^(-15)以上であれば繰り返す。 while( fabs( fraction - M_PI ) > 1.0e-15 ) { deno += fraction > M_PI; // ”fraction > M_PI”ならば、分子deno += 1。 nume += fraction < M_PI; // ”fraction < M_PI”ならば、分母nume += 1。 fraction = (double)nume / (double)deno; // 分数→小数へ変換し、代入 } /* 表示部 */ printf( " %d\n", nume ); printf( "PI ≒ ――――――\n" ); printf( " %d\n", deno ); return 0; } |

- >
- Yahoo!サービス
- >
- Yahoo!ブログ
- >
- 練習用





