25.02 Поиск делителей
Ошибка.
Попробуйте повторить позже
Найдите наименьшее натуральное число, которое имеет ровно 20 делителей. В ответе укажите число.
def f(n): count = 0 for i in range(1, int(n ** 0.5) + 1): if n % i == 0: count += 1 if n // i != i: count += 1 if count == 20: return True return False i = 0 while not(f(i)): i += 1 print(i)
Ошибка.
Попробуйте повторить позже
Напишите программу, которая принимает одно натуральное число и выводит количество его различных делителей.
n = int(input()) res = 0 for i in range(1, int((n)**0.5) + 1): if (n % i == 0): res += 1 if (n // i != i): res += 1 print(res)
Ошибка.
Попробуйте повторить позже
Найти количество натуральных делителей у числа 55440.
k = 2 # 1 и само число - делители числа всегда
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
k += 1
if n // i != i:
k += 1
return k
print(count_div(55440))
Ошибка.
Попробуйте повторить позже
Вывести в порядке возрастания все нетривиальные делители числа 49500.
a = []
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
a.append(i)
if n // i != i:
a.append(n// i)
a.sort()
return a
Ошибка.
Попробуйте повторить позже
Напишите программу, которая получает на вход число и возвращает количество его делителей. В ответе укажите количество делителей для числа .
Решение 1
count = 0 x = int(input()) for i in range(1, int(x ** 0.5) + 1): if x % i == 0: count += 1 if x // i != i: count += 1 print(count)
Решение 2
a = set() x = int(input()) for i in range(1, int(x ** 0.5) + 1): if x % i == 0: a.add(i) a.add(x // i) print(len(a))