ЯЗЫК ПИТОН!! 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. Пары необходимо выводить по одной в строке, разделяя числа в паре пробелом. Каждая пара должна быть выведена только один раз (перестановка чисел новую пару не дает).

anorbaeva anorbaeva    2   20.10.2020 03:05    48

Ответы
ашме ашме  19.11.2020 03:06

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)

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика