2013年9月15日 星期日

[C/C++ 演算法]- 蒙地卡羅法求 PI

[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;
}


沒有留言:

張貼留言