用c语言编代码计算圆周率
以下是使用蒙特卡罗方法计算圆周率的C代码:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int i, n, count = 0;
double x, y, pi;
srand(time(NULL)); // 初始化随机数生成器
printf("请输入点的数量:");
scanf("%d", &n);
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; // 计算圆周率
printf("π ≈ %f\n", pi);
return 0;
}
使用蒙特卡罗方法计算圆周率的思路是:在一个正方形内随机生成大量点,统计落在圆内的点的数量,然后根据圆的面积和正方形的面积的关系计算圆周率。具体来说,如果在一个半径为r的圆内随机生成一个点,那么这个点在正方形内的概率为1,而在圆内的概率为圆的面积与正方形面积之比,即πr^2 / (2r)^2 = π/4。因此,我们可以生成大量的点,统计落在圆内的点的数量,然后用这个数量和总点数的比例来估算圆周率
原文地址: http://www.cveoy.top/t/topic/cgge 著作权归作者所有。请勿转载和采集!