算法:计算圆周率(JS)

计算圆周率
根据公式(π = 4 × (1 / 1 – 1 / 3 + 1 / 5 – 1 / 7 + 1 / 9 - 1 / 11 + 1 / 13··· 1 / 2023))
计算圆周率的近似值。
 1 var sign = 1; // 符号变量,初始值为正
 2 var deno = 1; // 分母变量,初始值为1
 3 var sum = 0; // 和变量,初始值为0
 4 var t = sign * 1 / deno; // 当前项变量,初始值为第一项
 5 
 6 while (Math.abs(t) > 10e-10) { // 当当前项绝对值大于10的-10次方时执行循环
 7     sum += t; // 将当前项加到和上
 8     sign = sign * -1; // 改变符号,相当于每次交替取正负
 9     deno += 2; // 分母增加2,因为莱布尼茨级数的分母是奇数
10     t = sign * 1 / deno;  // 计算新的当前项
11 }
12 
13 var pi = sum * 4; // 将和乘以4得到π的近似值
14 alert("π的值为:" + pi); // 弹窗显示π的近似值

代码解释:

代码注释解释了程序的功能和逻辑。首先,定义了四个变量:sign表示符号(正负),初始值为1;deno表示分母,初始值为1;sum表示和,初始值为0;t表示当前项,初始值为第一项。

然后,使用while循环进行迭代计算。循环条件是当前项的绝对值大于10的-10次方,即当当前项足够小时停止计算。

在每次循环中,将当前项加到和上,根据莱布尼茨级数规律改变符号(交替取正负),将分母增加2(因为莱布尼茨级数的分母是奇数),然后计算新的当前项。

循环结束后,将和乘以4得到π的近似值,存储在变量pi中。

最后,使用alert弹窗显示π的近似值。

注意:这段代码使用莱布尼茨级数仅能得到π的近似值,并且精度受到循环条件的限制。在实际应用中,更精确的π值通常需要使用其他方法或库来计算。

posted @ 2023-10-07 16:35  安知竹墨  阅读(415)  评论(0)    收藏  举报