Безладна кімната#12212

Безладна кімната (Розбір)

Автор проблеми:

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}) обидва проходять.