C#用公式pi/6=1/2+(1/2)1/3(1/2)^3+(1/23/4)1/5(1/2)^5+(1/23/4*5/6)1/7(1/2)^7+…求π的值,直到所加项小于le-10 代码
时间: 2024-09-27 07:15:26 浏览: 44
自己用c#写的计算交流有效值的小工具,用来演示怎么计算交流有效值
在C#中,你可以使用无限级数的公式计算圆周率π的一个近似值,这个公式被称为Leibniz公式。该算法通过不断迭代并累加项来逼近π。以下是使用循环和条件判断实现这个公式的简单代码:
```csharp
using System;
using System.Numerics;
double CalculatePi()
{
double pi = 1.0;
double term = 1.0 / 2.0;
double denominator = 1;
int sign = 1;
while (true)
{
pi += term * Math.Pow(-sign, denominator++);
if (Math.Abs(term) < 1e-10) break; // 判断项是否小于指定阈值
sign *= -1; // 改变项的符号
}
return pi;
}
public static void Main()
{
double approxPi = CalculatePi();
Console.WriteLine($"Approximate value of π: {approxPi}");
}
```
在这个代码中,`CalculatePi`函数会一直执行级数的计算,直到当前项的绝对值小于`1e-10`(即10的-10次方),此时认为已经收敛到足够精确的结果。注意,这只是一个非常基础的实现,实际应用中可能会选择更高效的算法来提高性能。
阅读全文