main.cpp
来自「用概率算法计算π的值」· C++ 代码 · 共 57 行
CPP
57 行
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
double Func(double x){
return sqrt(1-x*x);
}
double uniform(double a,double b){
if(a >= b){
printf("Can't get a random\n");
exit(0);
}
double random = rand()*1.0/RAND_MAX;
printf("random=%f\n",random);
return random;
}
double Calculate(long n){
long k = 0;
double x,y;
for(long i=0;i<n;i++){
x = uniform(0,1);
y = uniform(0,1);
x = Func(x);
if(y <= x) k++;
}
return 4.0*k/n;
}
int main(){
long n;
double pai;
printf("Input N:");
scanf("%ld",&n);
srand((unsigned)time(NULL));
pai = Calculate(n);
printf("Pai = %f\n",pai);
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?