Денис
Денис

Программа Python. Помогите выполнить задание.

Дан промежуток от 1 до 1000. Вывести числа, имеющие 5 делителей. (Программу написать через цикл While).

ЕГ
Евгений Грачев

Если немного подумать, то нечётное число делителей может иметь только квадрат натурального числа.
Если ещё немного подумать, 3 делителя имеет только квадрат простого числа, а 5 делителей - только четвёртая степень простого числа.
Корень четвёртой степени из 1000 равен 5.62.
От 2 до 5 включительно существует только 3 простых числа.

Ответ:

print(*[i ** 4 for i in [2, 3, 5]])

Но если хочешь через задницу и цикл while, то:

def cnt(n):
~~res, i = 0, 1
~~while i * i < n:
~~~~res += (n % i == 0) * 2
~~~~i += 1
~~res += i * i == n
~~return res
for i in range(2, 1001):
~~if cnt(i) == 5: print(i)

НП
Настёна Пасхина

lower = int(input("Введите нижнюю границу диапазона:"))
upper = int(input("Введите верхнюю границу диапазона:"))
n = int(input("Введите делитель:"))
for i in range(lower, upper + 1):
if(i % n == 0):
print(i)

Похожие вопросы
Python пожалуйсто помогите срочно!
Помогите с циклом "for". Язык Python, задание с нечетными числами
Python вопрос про class, помогите
Помогите новичку в Python
Помогите исправить ошибки в коде Python
Помогите переписать из Pascal в Python
Помогите Решеить задачу на python
Помогите с Python, цикл for
Python число Фибоначчи, помогите!
Добрый день, помогите с Python "калькулятором".