ЯЗЫК ПИТОН!! 1) Дано натуральное число N>1. Выведите все его простые натуральные делители с учетом кратности. Алгоритм должен иметь сложность O(n−−√).
Входные данные
Вводится натуральное число N≤2∗109.
Выходные данные
Выведите ответ на задачу.
2)Количество всех натуральных делителей натурального числа n обозначается τ(n). Сумма всех натуральных делителей числа n обозначается σ(n).
Входные данные
Дано натуральное n≤109.
Выходные данные
Выведите τ(n) и σ(n).
Примечание
Сложность алгоритма должна быть O(n−−√).
3)Два различных числа n и m называются дружественными, если сумма делителей числа n (включая 1, но исключая само n) равна числу m и наоборот. Например, 220 и 284 – дружественные числа.
Входные данные
Дано число k≤50000
Выходные данные
Выведите все пары дружественных чисел, каждое из которых не превосходит k. Пары необходимо выводить по одной в строке, разделяя числа в паре пробелом. Каждая пара должна быть выведена только один раз (перестановка чисел новую пару не дает).
1)
n = int(input())
ans = []
for i in range(int(n ** 0.5 + 1)):
if n % i == 0:
ans.append(i)
print(*ans)
2)
x = int(input())
a = 0
d = 2
s = int(x/2) + 1
for i in range(2, s):
if x % i == 0:
d += 1
a += i
print(d, x + 1 + a)
3)
k = 10000
ans = {}
def d(number):
return sum(x for x in range(1, (number // 2) + 1) if number % x == 0)
for i in range(1, k+1):
a = d(i)
if i == d(a) and i != a:
if i and a not in pairs:
pairs[i] = a
print(pairs)