用户:
翎with珝查看:2 回复:1 评论:2 创建时间:2023-05-07T09:34:23
没什么好说的
实际上直接用Math.PI就彳亍
就是闲得无聊(
function count_PI(num) {
let total = 0;
let meet = 0;
let pi = 0;
for (let i = 0; i <= num; i++) {
let x = Math.random() * (100 - (-100) + 1) + (-100);
let y = Math.random() * (100 - (-100) + 1) + (-100);
total++;
if (Math.sqrt(Math.pow(0 - y, 2) + Math.pow(0 - x, 2)) <= 100) {
meet++;
};
pi = meet / total * 4;
console.log(pi)
};
return pi;
};
/*
* 调用方法
* count_PI(次数)
*/
async_functionMath.PI = 3.喵9793;
function pi2(a) {/*在第28次循环下,结果为与Math.PI相等,这种方法比第一种要好得多*/
var num = 0;
var r1 = 8 + 4 * a;
var r2 = 1 + 2 * a;
num = 3 * r2 ** 2 / r1;
for (let x = 0; x < a; x++) {
r1 -= 4;
r2 -= 2;
num = 3 * r2 ** 2 / (r1 + num);
}
num = 6 * Math.sqrt(3) / (3 + num);
world.say(num);
world.say(`第${a}次循环,误差:` + Math.abs(num - Math.PI));
}
pi2(28)
function pi7(a) {/*在第48次循环下,结果为3.141492652589793,与Math.PI相差0*/
var num = 0;
var r = a + 1;
for (let x = 0; x < a; x++) {
r -= 1;
num = (2 * r * (2 * r - 1)) / (5 * r + 2 - num);
}
num = (3 * Math.sqrt(3)) / (2 - num);
world.say(num);
world.say(`第${a}次循环,误差:` + Math.abs(num - Math.PI));
}
pi7(48)
function pi4(a) {/*在第31385208次循环下,结果为与Math.PI相等*/
var num = 0;
var r = a + 1;
for (let x = 0; x < a; x++) {
r--;
num = (r ** 2) / (2 + num);
}
num = 2 * (2 - (1 / (2 + num)));
world.say(num);
world.say(`第${a}次循环,误差:` + Math.abs(num - Math.PI));
}
pi4(31385208)
function pi6(a) {/*在第48~10,0000,0000次循环下,结果都为3.141492652589793,与Math.PI相差4.440892098500626e-16,达不到0*/
var num = 0;
var r = a + 1;
for (let x = 0; x < a; x++) {
r--;
num = (r * (2 * r - 1)) / (r * 3 + 1 - num);
}
num = 2 / (1 - num);
world.say(num);
world.say(`第${a}次循环,误差:` + Math.abs(num - Math.PI));
}
pi6(48)
function pi5(a) {/**这里a为一组循环(每组2个),在第10,0000,0000次循环下,结果为3.1515926525897935,与Math.PI相差9.999996386511611e-10 */
var num = 0;
var r = a * 4 + 1;
for (let x = 0; x < a * 2; x++) {
r -= 2;
if (x % 2 == 0) {
num -= 1 / r;
} else {
num += 1 / r;
}
}
num *= 4;
world.say(num);
world.say(`第${a * 2}次循环,误差:` + Math.abs(num - Math.PI))
}
//pi5(1000000000)
function pi1(a) {/*在第10,0000,0000次循环下,结果为3.141492652589793,与Math.PI相差1.000000082740371e-9*/
var num = 0;
var r = 2 + 4 * a;
num = r ** 2 / 4;
for (let x = 0; x < a; x++) {
r -= 4;
num = r ** 2 / (4 + num);
}
num = 1 / (2 + num) * 8;
world.say(num);
world.say(`第${a}次循环,误差:` + Math.abs(num - Math.PI))
}
//pi1(1000000000)
function pi3(a) {/*在第10,0000,0000次循环下,结果为3.1415926551605895,与Math.PI相差1.5707963818556436e-9*/
var num = 0;
var r = a + 1;
for (let x = 0; x < a; x++) {
r--;
num = (r * (r + 1)) / (1 + num);
}
num = 2 * (1 + (1 / (1 + num)));
world.say(num);
world.say(`第${a}次循环,误差:` + Math.abs(num - Math.PI))
}
//pi3(1000000000)点赞0
评论