Близко!
Мой расчёт:
Можно попробовать 5 из 100000 кодов на один номер.
Шанс угадать = 5/100000, а шанс НЕ угадать = 1-(5/100000) = 99995/100000.
Когда не угадали, берём другой номер.
Шанс НЕ угадать X номеров подряд = (99995/100000)^X, вероятности перемножаются X раз.
Значит, шанс угадать хоть один из них = 1-((99995/100000)^X).
Для удачи в 95% подставляем: 1-((99995/100000)^X)=95/100, отсюда
(99995/100000)^X=5/100
Log((99995/100000)^X)=Log(5/100)
X*Log(99995/100000)=Log(5/100)
X=Log(5/100)/Log(99995/100000)
console.log(Math.ceil(Math.log(5/100)/Math.log(99995/100000)))
// 59914
Но такая высокая удача не нужна, возьмём 75%:
console.log(Math.ceil(Math.log(25/100)/Math.log(99995/100000)))
// 27726
Однако, важно не только количество попыток, но и время, которое придётся затратить: