使用C语言计算圆周率

以下是C语言代码示例,使用莱布尼茨级数计算圆周率:

#include <stdio.h>

double estimate_pi(int num_terms) {
    double pi_estimate = 0.0;
    int sign = 1;
    for (int i = 0; i < num_terms; i++) {
        double term = 1.0 / (2 * i + 1);
        pi_estimate += sign * term;
        sign *= -1;
    }
    return 4.0 * pi_estimate;
}

int main() {
    int num_terms = 1000000;
    double pi = estimate_pi(num_terms);
    printf("Estimated value of pi: %f", pi);
    return 0;
}

在这个例子中,我们使用莱布尼茨级数计算圆周率。公式为:

π/4 = 1 - 1/3 + 1/5 - 1/7 + 1/9 - ……

我们计算前1000000项的和,并乘以4得到圆周率的估算值。最后,我们使用printf函数输出估算结果。

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/calculate-the-value-of-pi-using-c.html

分类: 计算机技术
推荐阅读:
MIPS指令的操作码和操作数 MIPS指令由操作码和操作数组成。操作码指定指令的类型,操作数则指定指令要操作的寄存器或者立即数。在MIPS指令集中,操作码通常占据指令的高6位,操作数则根据指令类型和格式的不同而有所区别。
Rust语言获取当前的时间戳 在 Rust 中,要获取当前的时间戳(Unix 时间戳),您可以使用 std::time::SystemTime 和 std::time::UNIX_EPOCH 的组合,然后将时间间隔转换为秒数。
使用Rust实现CRC32算法 CRC32是一种循环冗余校验码(Cyclic Redundancy Check)算法,通常用于数据传输或存储中的错误检测。该算法通过对输入数据进行位操作和模2除法来生成一个32位的校验码,该校验码可以用于验证输入数据是否已经损坏或被篡改。
requests中的超时(timeout)设定和捕获异常 为防止服务器不能及时响应,大部分发至外部服务器的请求都应该带着 timeout 参数。在默认情况下,除非显式指定了 timeout 值,requests 是不会自动进行超时处理的。如果没有 timeout,你的代码可能会挂起若干分钟甚至更长时间。
Linux显示使用内存最多的十个进程 在Linux系统下,你可以使用一条命令显示当前系统使用内存最多的十个进程:
Python实现链表 链表是一系列数据元素,它们通过指针连接在一起。每个数据元素都包含指向指针形式的另一个数据元素的连接。Python在其标准库中没有链接列表;作者将使用的节点的概念来实现链表。