hitormiss.c

来自「hitorMiss+用概率算法求积分问题的C程序」· C语言 代码 · 共 33 行

C
33
字号
#include"stdio.h"
#include"stdlib.h"
#include"time.h"
#include"math.h"

double uniform();
double hitorMiss(int);

void main(){
	int n = 10000000;
	double pie = hitorMiss(n);
	printf("%f",pie);
}

double hitorMiss(int n){
	int k = 0;
	srand( (unsigned)time( NULL ) );	
	for(int i = 1; i <= n; i++){
		double x = uniform();
		double y = uniform();
		if(y <= sqrt(1.0 - x*x))
			k++;
	}
	return 4.0 * (double)k / (double)n;
}

double uniform(){
	int j = rand();
	double k = ((double)j) / ((double)RAND_MAX);
	return k;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?