以下是使用蒙特卡罗方法计算圆周率的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。因此,我们可以生成大量的点,统计落在圆内的点的数量,然后用这个数量和总点数的比例来估算圆周率

用c语言编代码计算圆周率

原文地址: http://www.cveoy.top/t/topic/cgge 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录