Встретил задачку: Подбрасываем монетку 6 раз. Найти вероятность, что из этих 6, только два раза упадет орел. Математическое решение не важно, захотелось грубо прогнать "подбрасывания" через цикл и проверить результаты.
JS:
let sum = 0;
for (let i = 0; i < 100000000; i++) {
let eagle = 0;
for (let j = 0; j < 6; j++) { // 6 раз подкинули монетку
let x = Math.round(Math.random());
if (x) { // упал орел
eagle++
}
}
if (eagle == 2) { // Орлов оказалось два - посчитали.
sum++
}
}
console.log( sum / 100000000 );
____________________
Python:
import random
sum = 0
for i in range(0, 100000000):
eagle = 0
for j in range(0, 6):
x = round( random.uniform(0,1) )
if x:
eagle += 1
if eagle == 2:
sum += 1
print( sum / 100000000 )
_________________
JS стабльно справляется за 20 секунд, а Питон отвечал минут 15 !) Или, у питона изначально задача не в том, чтобы быть быстрым?
А какаой вообще язык умеет считать и ходить по таким циклам быстрее всех?
JS:
let sum = 0;
for (let i = 0; i < 100000000; i++) {
let eagle = 0;
for (let j = 0; j < 6; j++) { // 6 раз подкинули монетку
let x = Math.round(Math.random());
if (x) { // упал орел
eagle++
}
}
if (eagle == 2) { // Орлов оказалось два - посчитали.
sum++
}
}
console.log( sum / 100000000 );
____________________
Python:
import random
sum = 0
for i in range(0, 100000000):
eagle = 0
for j in range(0, 6):
x = round( random.uniform(0,1) )
if x:
eagle += 1
if eagle == 2:
sum += 1
print( sum / 100000000 )
_________________
JS стабльно справляется за 20 секунд, а Питон отвечал минут 15 !) Или, у питона изначально задача не в том, чтобы быть быстрым?
А какаой вообще язык умеет считать и ходить по таким циклам быстрее всех?