zadachi
2
def factorize(n):
ans = {}
d = 2
while d * d <= n:
while n % d ==0:
ans[d] = ans.get(d, 0) + 1
n //= d
d += 1
if n > 1:
ans[n] = 1
return ans
n = int(input())
ans = factorize(n)
key = list(ans.keys())[0]
print(key,end='')
for i in range(1,ans[key]):
print(f'*{key}',end = '')
for key1 in ans.keys():
if key1 == key:
continue
for i in range(ans[key1]):
print(f'*{key1}',end = '')
3
def factorize(n):
ans = {}
d = 2
while d * d <= n:
while n % d ==0:
ans[d] = ans.get(d, 0) + 1
n //= d
d += 1
if n > 1:
ans[n] = 1
return ans
n = int(input())
ans = factorize(n)
key = list(ans.keys())[0]
print(key,end='')
if ans[key] > 1:
print(f'^{ans[key]}',end='')
for key1 in ans.keys():
if key1 == key:
continue
print(f'*{key1}',end = '')
if ans[key1] > 1:
print(f'^{ans[key1]}',end='')
4
def sieve_of_Eratosthenes(n):
prime = [False, False] + [True] * (n-1)
for i in range(2, n + 1):
if not prime[i]:
continue
for j in range(i * i, n + 1, i):
prime[j] = False
return prime
n = int(input())
print(sum(sieve_of_Eratosthenes(n*2)[n:]))