Düzgün Otaq#12212

Düzgün Otaq (Həll təhlili)

Problem Müəllifi:

De3b0o

Hazırlayan:

De3b0o

Redaktə edən:

Hasan Saleh (MathModel)

Həll

Qeyd edək ki, tərəfini istifadə edə bilmirik, bu o deməkdir ki, a \cdot b=n olması üçün iki tam ədədə (a,b \ge 2) ehtiyacımız var. İki hal var, əgər asal ədəd olsa, onda təkdir və n+1 cütdür, bu da n+1-in tərkib hissəsi olduğunu göstərir və beləliklə, n+1 cavabdır, əks halda özü tərkib hissəsidir, buna görə də bu, etibarlı cavabdır.

Aşağıdakı tətbiqi

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()

Aşağıdakı \mathcal{O}(\sqrt{n}) tətbiqi

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()

Komplekslik və ya \mathcal{O}(\sqrt{n}) hər ikisi keçərli.