酷代码 AI
菜单

尝试求出 𝜋 的值,精确到小数点后 𝑛 位 # 提示 𝜋 可以由各种泰勒展开的公式求得: 𝜋 2 = 1 + 1 3 + 1 3 · 2 5 + 1 3 · 2 5 · 3 7 . . . 𝜋 4 = 1 − 1 3 + 1 5 − 1 7 + 1 9 . . . 𝜋 2 6 = 1 + 1 3 2 + 1 5 2 + 1 7 2 + 1 9 2 . . . 求 𝜋 的公式还有好多,感兴趣尝试查阅,上面三个公式已经足够解决本题了. 输入 读入一个整数 𝑛 . 输出 输出 𝜋 的值,四舍五入保留到小数点后 𝑛 位. 样例输入 复制 100 样例输出 复制 3. 1415926535 8979323846 2643383279 5028841971 6939937510 5820974944 5923078164 0628620899 8628034825 3421170679 提示 50%的数据, 1 <= 𝑛 <= 100 . 100%的数据,

使用公式 \[ \frac{\pi}{4} = 1 - \frac{1}{3} + \frac{1}{5} - \frac{1}{7} + \frac{1}{9} - \cdots \] 计算 \(\pi\) 到小数点后 \(n\) 位。 ```python import decimal import sys def compute_pi(n): decimal.getcontext().prec = n + 10 # 多保留几位避免舍入误差 pi = decimal.Decimal(0) k = 0 term = decimal.Decimal(1) while abs(term) > decimal.Decimal(10) (-n - 5): term = decimal.Decimal(1) / (2 * k + 1) if k % 2 == 0: pi += term else: pi -= term k += 1 pi *= 4 return pi if __name__ == "__main__": n = int(sys.stdin.readline().strip()) pi_value = compute_pi(n) # 四舍五入到小数点后 n 位 decimal.getcontext().rounding = decimal.ROUND_HALF_UP pi_rounded = pi_value.quantize(decimal.Decimal('1.' + '0' * n)) print(pi_rounded) ``` [2026-01-02 19:00:32 | AI问答 | 297点数解答]

服务商
相关提问
发财导航,免费问AI
实用工具查看更多