猫史档案馆


【氵】无用代码:计算圆周率

用户:翎with珝翎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(次数)
*/


回复

上一页1 页 / 共 1下一页
async_functionasync_function

Math.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


评论