Автор проблеми: | De3b0o |
Підготовлено: | De3b0o |
Редагував: | Hasan Saleh (MathModel) |
Розв'язок
Зверніть увагу, що ми не можемо використовувати сторону , це означає, що нам потрібні два цілі числа (a,b \ge 2) так, щоб a \cdot b=n. Є два випадки: якщо просте, то непарне, а n+1 парне, що означає, що n+1 складне, і таким чином n+1 є відповіддю; в іншому випадку, саме є складним, отже, це дійсна відповідь.
Наступна реалізація має складність
def solve():
n=int(input())
for i in range(2,n):
if(n%i==0):
print(n)
return
print(n+1)
for _ in range(int(input())):
solve()Наступна реалізація має складність \mathcal{O}(\sqrt{n})
from math import *
def solve():
n=int(input())
for i in range(2,int(sqrt(n))+1):
if(n%i==0):
print(n)
return
print(n+1)
for _ in range(int(input())):
solve()Складність або \mathcal{O}(\sqrt{n}) обидва проходять.