算法:计算圆周率(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弹窗显示π的近似值。
注意:这段代码使用莱布尼茨级数仅能得到π的近似值,并且精度受到循环条件的限制。在实际应用中,更精确的π值通常需要使用其他方法或库来计算。

浙公网安备 33010602011771号