[C/C++ 演算法]- 蒙地卡羅法求 PI
剛才找資料時發現一個C/C++的教學網站,趕快發揮(C/P)的長才將它備份來,有需要的同好,歡迎來(C/P)一下^^。
拷貝來源:
http://openhome.cc/Gossip/AlgorithmGossip/
http://openhome.cc/Gossip/AlgorithmGossip/MathPI.htm
#include <stdio.h> #include <stdlib.h> #include <time.h>
#define N 50001
int main(void) { srand(time(NULL)); int sum = 0; int i; for(i = 1; i < N; i++) { double x = (double) rand() / RAND_MAX; double y = (double) rand() / RAND_MAX; if((x * x + y * y) < 1) { sum++; } }
printf("PI = %f\n", (double) 4 * sum / (N - 1)); return 0; }
|
沒有留言:
張貼留言