c语言计算pi的近似值
以下是使用蒙特卡罗方法计算pi的近似值的C语言代码:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int i, count = 0, n = 1000000;
double x, y, pi;
srand(time(NULL)); // 设置随机数种子
for (i = 0; i < n; i++)
{
x = (double)rand() / RAND_MAX; // 生成0~1之间的随机数
y = (double)rand() / RAND_MAX;
if (x * x + y * y <= 1) // 判断是否在圆内
count++;
}
pi = 4.0 * count / n; // 计算pi的近似值
printf("pi = %f\n", pi);
return 0;
}
该程序使用蒙特卡罗方法模拟在一个正方形内随机投点,并判断每个点是否在以原点为圆心、半径为1的圆内。根据概率统计的原理,圆内的点数占总点数的比例即为圆的面积与正方形面积的比例,而圆的面积与正方形面积的比例为π/4,因此pi的近似值为4乘以圆内点数与总点数的比例
原文地址: https://www.cveoy.top/t/topic/ccv8 著作权归作者所有。请勿转载和采集!