На питоне, "Последовательность Хэмминга"
Если числа имеют среди делителей только 2, 3 и 5 в любой степени, то, расположенные по возрастанию, они образуют последовательность Хэмминга. Выведите n-е число последовательности.
Первые 10 чисел такие: 2, 3, 4, 5, 6, 8, 9, 10, 12, 15.
Пример
Ввод Вывод
5 6
Я задачу решила но она не проходит по ограничению по времени (ограничение 1 секунда),
Мой код:
a = int(input())
i = 0
y = 0
while i != a:
y += 1
x = y
if x % 2 == 0:
while x % 2 == 0:
x = x / 2
if x % 3 == 0:
while x % 3 == 0:
x = x / 3
if x % 5 == 0:
while x % 5 == 0:
x = x / 5
if x == 1:
i += 1
elif x % 3 == 1:
while x % 3 == 0:
x = x / 3
if x == 1:
i += 1
elif x % 3 == 0:
while x % 3 == 0:
x = x / 3
if x == 1:
i += 1
elif x == 1:
i += 1
elif x % 5 == 0:
while x % 5 == 0:
x = x / 5
if x == 1:
i += 1
elif x % 3 == 0:
while x % 3 == 0:
x = x / 3
if x % 5 == 0:
while x % 5 == 0:
x = x / 5
if x == 1:
i += 1
elif x == 1:
i += 1
elif x % 5 == 0:
while x % 5 == 0:
x = x / 5
if x == 1:
i += 1
elif x == 1:
i += 0
print(y)
Другие вопросы по: Информатика
Знаешь правильный ответ?
На питоне, "Последовательность Хэмминга"Если числа имеют среди делителей только 2, 3 и 5 в любой сте...
Популярные вопросы