Числа пчел - это числа, которые могут быть выражены в форме (3^a)*(5^b)*(7^c)
. где a
, b
и c
- положительные целые числа.
Задача:
Напишите функцию, которая принимает положительное целое число n и возвращает n-е наименьшее число пчелы
Пример:
bNumber(1)===1//(3^0)*(5^0)*(7^0)
bNumber(2)===3//(3^1)*(5^0)*(7^0)
bNumber(3)===5//(3^0)*(5^1)*(7^0)
bNumber(4)===7//(3^0)*(5^0)*(7^1)
bNumber(100)===33075//(3^3)*(5^2)*(7^2)
Моя попытка:
let bNumber = (n) => {
var beenumbers = []
var a = 0
var b = 0
var c = 0
while (beenumbers.length <= n) {
var beeSchema = Math.pow(3,a)*Math.pow(5,b)*Math.pow(7,c);
var beeArray = []
var bee = Math.min((Math.pow(3, a + 1) * Math.pow(5, b) * Math.pow(7, c)),
(Math.pow(3, a) * Math.pow(5, b + 1) * Math.pow(7, c)), (Math.pow(3, a) * Math.pow(5, b) * Math.pow(7, c + 1)))
beenumbers.push(bee);
}
return beenumbers;
}
Проблема для меня состоит в том, чтобы усовершенствовать систему, которая будет успешно проверять, какое приращение 1 в a
, b
или c
даст следующий номер пчелы. Я использовал Math.min
, чтобы получить наименьший результат с приращением a
, b
или c
, но это все равно не работает.