Problem:


Score: 300 points

Problem Statement

Find the minimum prime number greater than or equal to X.

Notes

A prime number is an integer greater than 1 that cannot be evenly divided by any positive integer except 1 and itself.

For example, 2, 3, and 5 are prime numbers, while 4 and 6 are not.

Constraints

 2 \le X \le 10^5 

All values in input are integers.

Input

Input is given from Standard Input in the following format:

X

Output

Print the minimum prime number greater than or equal to X.

Sample Input 1

20

Sample Output 1

23

The minimum prime number greater than or equal to 20 is 23.

Sample Input 2

2

Sample Output 2

2

X itself can be a prime number.

Sample Input 3

99992

Sample Output 3

100003



Sample input:
20


Sample output:
23

Submission status: Wrong Answer

Solution code:
x = int(input())
 
ans = x
 
while True:
  for i in range(2, ans):
    if ans % i == 0:
      continue
  else:
    print(ans)
    exit()
  ans += 1

Submission status: Wrong Answer

Solution code:
from math import sqrt
n=int(input())
for i in range(n,n*10000):
    a=1
    if i%2!=0:
        a=0
        for j in range(3,round(sqrt(n))+1,2):
            if i%j==0:
                a+=1
                break
    if a==0:
        print(i)
        break

Submission status: Wrong Answer

Solution code:
x = int(input())
primes = []
n = 2


def is_prime(num):
    for p in primes:
        if num % p == 0:
            return False
        if p * p > num:
            return True
    return True


while True:
    if is_prime(n):
        if n >= x:
            print(n)
            exit()
        else:
            print('{}: {}'.format(len(primes), n))
            primes.append(n)
    n += 1

Submission status: Wrong Answer

Solution code:
X = int(input())
E = [1] * (2 * X)
for i, e in enumerate(E):
  if i < 1:
    continue
  if e < 1:
    continue
  for j in range(2 * i, 2 * X, i):
    E[j] = 0
for i, e in enumerate(E):
  if i < X:
    continue
  if e < 1:
    continue
  print(i)
  break

Submission status: Wrong Answer

Solution code:
X = int(input())

def prime(n):
  for i in range(2, int(X**0.5)+1):
    if X%i == 0:
      return 0
    return 1

    
k = 1
while k:
  if prime(X):
    print(X)
    k -= 1
  else:
    X += 1

Submission status: Wrong Answer

Solution code:
X = int(input())

for i in range(1, int(X**0.5)+1):
  if X/i == X//i:
    X += 1
    continue

    
else:
  print(X)

Submission status: Wrong Answer

Solution code:
X = int(input())

number = X
flag = 0

if(number%2 == 0):
    number += 1
else:
    pass

while(True):
    for i in range(2, number):
        if number%i == 0:
            number += 2
            break

        elif i == (number-1):
            flag = 1
            print(number)
            break

        else:
            pass

    if flag == 1:
        break

Submission status: Wrong Answer

Solution code:
X = int(input())
if X == 2:
    print(3)
    exit()

N = 100010
flags = [True for i in range(N//2 + 1)]
flags[0] = False

lim = int(pow(N, 1/2))//2 + 1

for i in range(lim):
    if flags[i] is True:
        p = 2*i + 1
        for j in range(2*i*(i+1), N//2+1, p):
            flags[j] = False

for i in range((X-1)//2+1, N//2 + 1):
    if flags[i] is True:
        print(2*i+1)
        break

Submission status: Wrong Answer

Solution code:
prime = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71,
         73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173,
         179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281,
         283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409,
         419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 
         547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 
         661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 
         811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 
         947, 953, 967, 971, 977, 983, 991, 997, 1009, 1013, 1019, 1021, 1031, 1033, 1039, 1049, 1051, 1061, 1063, 1069, 
         1087, 1091, 1093, 1097, 1103, 1109, 1117, 1123, 1129, 1151, 1153, 1163, 1171, 1181, 1187, 1193, 1201, 1213, 1217, 1223, 
         1229, 1231, 1237, 1249, 1259, 1277, 1279, 1283, 1289, 1291, 1297, 1301, 1303, 1307, 1319, 1321, 1327, 1361, 1367, 1373, 
         1381, 1399, 1409, 1423, 1427, 1429, 1433, 1439, 1447, 1451, 1453, 1459, 1471, 1481, 1483, 1487, 1489, 1493, 1499, 1511, 
         1523, 1531, 1543, 1549, 1553, 1559, 1567, 1571, 1579, 1583, 1597, 1601, 1607, 1609, 1613, 1619, 1621, 1627, 1637, 1657, 
         1663, 1667, 1669, 1693, 1697, 1699, 1709, 1721, 1723, 1733, 1741, 1747, 1753, 1759, 1777, 1783, 1787, 1789, 1801, 1811, 
         1823, 1831, 1847, 1861, 1867, 1871, 1873, 1877, 1879, 1889, 1901, 1907, 1913, 1931, 1933, 1949, 1951, 1973, 1979, 1987, 
         1993, 1997, 1999, 2003, 2011, 2017, 2027, 2029, 2039, 2053, 2063, 2069, 2081, 2083, 2087, 2089, 2099, 2111, 2113, 2129, 
         2131, 2137, 2141, 2143, 2153, 2161, 2179, 2203, 2207, 2213, 2221, 2237, 2239, 2243, 2251, 2267, 2269, 2273, 2281, 2287, 
         2293, 2297, 2309, 2311, 2333, 2339, 2341, 2347, 2351, 2357, 2371, 2377, 2381, 2383, 2389, 2393, 2399, 2411, 2417, 2423, 
         2437, 2441, 2447, 2459, 2467, 2473, 2477, 2503, 2521, 2531, 2539, 2543, 2549, 2551, 2557, 2579, 2591, 2593, 2609, 2617, 
         2621, 2633, 2647, 2657, 2659, 2663, 2671, 2677, 2683, 2687, 2689, 2693, 2699, 2707, 2711, 2713, 2719, 2729, 2731, 2741, 
         2749, 2753, 2767, 2777, 2789, 2791, 2797, 2801, 2803, 2819, 2833, 2837, 2843, 2851, 2857, 2861, 2879, 2887, 2897, 2903, 
         2909, 2917, 2927, 2939, 2953, 2957, 2963, 2969, 2971, 2999, 3001, 3011, 3019, 3023, 3037, 3041, 3049, 3061, 3067, 3079, 
         3083, 3089, 3109, 3119, 3121, 3137, 3163, 3167, 3169, 3181, 3187, 3191, 3203, 3209, 3217, 3221, 3229, 3251, 3253, 3257, 
         3259, 3271, 3299, 3301, 3307, 3313, 3319, 3323, 3329, 3331, 3343, 3347, 3359, 3361, 3371, 3373, 3389, 3391, 3407, 3413, 
         3433, 3449, 3457, 3461, 3463, 3467, 3469, 3491, 3499, 3511, 3517, 3527, 3529, 3533, 3539, 3541, 3547, 3557, 3559, 3571, 
         3581, 3583, 3593, 3607, 3613, 3617, 3623, 3631, 3637, 3643, 3659, 3671, 3673, 3677, 3691, 3697, 3701, 3709, 3719, 3727, 
         3733, 3739, 3761, 3767, 3769, 3779, 3793, 3797, 3803, 3821, 3823, 3833, 3847, 3851, 3853, 3863, 3877, 3881, 3889, 3907, 
         3911, 3917, 3919, 3923, 3929, 3931, 3943, 3947, 3967, 3989, 4001, 4003, 4007, 4013, 4019, 4021, 4027, 4049, 4051, 4057, 
         4073, 4079, 4091, 4093, 4099, 4111, 4127, 4129, 4133, 4139, 4153, 4157, 4159, 4177, 4201, 4211, 4217, 4219, 4229, 4231, 
         4241, 4243, 4253, 4259, 4261, 4271, 4273, 4283, 4289, 4297, 4327, 4337, 4339, 4349, 4357, 4363, 4373, 4391, 4397, 4409, 
         4421, 4423, 4441, 4447, 4451, 4457, 4463, 4481, 4483, 4493, 4507, 4513, 4517, 4519, 4523, 4547, 4549, 4561, 4567, 4583, 
         4591, 4597, 4603, 4621, 4637, 4639, 4643, 4649, 4651, 4657, 4663, 4673, 4679, 4691, 4703, 4721, 4723, 4729, 4733, 4751, 
         4759, 4783, 4787, 4789, 4793, 4799, 4801, 4813, 4817, 4831, 4861, 4871, 4877, 4889, 4903, 4909, 4919, 4931, 4933, 4937, 
         4943, 4951, 4957, 4967, 4969, 4973, 4987, 4993, 4999, 5003, 5009, 5011, 5021, 5023, 5039, 5051, 5059, 5077, 5081, 5087, 
         5099, 5101, 5107, 5113, 5119, 5147, 5153, 5167, 5171, 5179, 5189, 5197, 5209, 5227, 5231, 5233, 5237, 5261, 5273, 5279, 
         5281, 5297, 5303, 5309, 5323, 5333, 5347, 5351, 5381, 5387, 5393, 5399, 5407, 5413, 5417, 5419, 5431, 5437, 5441, 5443, 
         5449, 5471, 5477, 5479, 5483, 5501, 5503, 5507, 5519, 5521, 5527, 5531, 5557, 5563, 5569, 5573, 5581, 5591, 5623, 5639,
         5641, 5647, 5651, 5653, 5657, 5659, 5669, 5683, 5689, 5693, 5701, 5711, 5717, 5737, 5741, 5743, 5749, 5779, 5783, 5791, 
         5801, 5807, 5813, 5821, 5827 ,5839, 5843, 5849, 5851, 5857, 5861, 5867, 5869, 5879, 5881, 5897, 5903, 5923, 5927, 5939,
         5953, 5981, 5987, 6007, 6011, 6029, 6037, 6043, 6047, 6053, 6067, 6073, 6079, 6089, 6091, 6101, 6113, 6121, 6131, 6133,
         6143, 6151, 6163, 6173, 6197, 6199, 6203, 6211, 6217, 6221, 6229, 6247, 6257, 6263, 6269, 6271, 6277, 6287, 6299, 6301,
         6311, 6317, 6323, 6329, 6337, 6343, 6353, 6359, 6361, 6367, 6373, 6379, 6389, 6397, 6421, 6427, 6449, 6451, 6469, 6473,
         6481, 6491, 6521, 6529, 6547, 6551, 6553, 6563, 6569, 6571, 6577, 6581, 6599, 6607, 6619, 6637, 6653, 6659, 6661, 6673,
         6679, 6689, 6691, 6701, 6703, 6709, 6719, 6733, 6737, 6761, 6763, 6779, 6781, 6791, 6793, 6803, 6823, 6827, 6829, 6833,
         6841, 6857, 6863, 6869, 6871, 6883, 6899, 6907, 6911, 6917, 6947, 6949, 6959, 6961, 6967, 6971, 6977, 6983, 6991, 6997,
         7001, 7013, 7019, 7027, 7039, 7043, 7057, 7069, 7079, 7103, 7109, 7121, 7127, 7129, 7151, 7159, 7177, 7187, 7193, 7207,
         7211, 7213, 7219, 7229, 7237, 7243, 7247, 7253, 7283, 7297, 7307, 7309, 7321, 7331, 7333, 7349, 7351, 7369, 7393, 7411,
         7417, 7433, 7451, 7457, 7459, 7477, 7481, 7487, 7489, 7499, 7507, 7517, 7523, 7529, 7537, 7541, 7547, 7549, 7559, 7561,
         7573, 7577, 7583, 7589, 7591, 7603, 7607, 7621, 7639, 7643, 7649, 7669, 7673, 7681, 7687, 7691, 7699, 7703, 7717, 7723,
         7727, 7741, 7753, 7757, 7759, 7789, 7793, 7817, 7823, 7829, 7841, 7853, 7867, 7873, 7877, 7879, 7883, 7901, 7907, 7919,
         7927, 7933, 7937, 7949, 7951, 7963, 7993, 8009, 8011, 8017, 8039, 8053, 8059, 8069, 8081, 8087, 8089, 8093, 8101, 8111,
         8117, 8123, 8147, 8161, 8167, 8171, 8179, 8191, 8209, 8219, 8221, 8231, 8233, 8237, 8243, 8263, 8269, 8273, 8287, 8291,
         8293, 8297, 8311, 8317, 8329, 8353, 8363, 8369, 8377, 8387, 8389, 8419, 8423, 8429, 8431, 8443, 8447, 8461, 8467, 8501,
         8513, 8521, 8527, 8537, 8539, 8543, 8563, 8573, 8581, 8597, 8599, 8609, 8623, 8627, 8629, 8641, 8647, 8663, 8669, 8677,
         8681, 8689, 8693, 8699, 8707, 8713, 8719, 8731, 8737, 8741, 8747, 8753, 8761, 8779, 8783, 8803, 8807, 8819, 8821, 8831,
         8837, 8839, 8849, 8861, 8863, 8867, 8887, 8893, 8923, 8929, 8933, 8941, 8951, 8963, 8969, 8971, 8999, 9001, 9007, 9011,
         9013, 9029, 9041, 9043, 9049, 9059, 9067, 9091, 9103, 9109, 9127, 9133, 9137, 9151, 9157, 9161, 9173, 9181, 9187, 9199,
         9203, 9209, 9221, 9227, 9239, 9241, 9257, 9277, 9281, 9283, 9293, 9311, 9319, 9323, 9337, 9341, 9343, 9349, 9371, 9377,
         9391, 9397, 9403, 9413, 9419, 9421, 9431, 9433, 9437, 9439, 9461, 9463, 9467, 9473, 9479, 9491, 9497, 9511, 9521, 9533,
         9539, 9547, 9551, 9587, 9601, 9613, 9619, 9623, 9629, 9631, 9643, 9649, 9661, 9677, 9679, 9689, 9697, 9719, 9721, 9733,
         9739, 9743, 9749, 9767, 9769, 9781, 9787, 9791, 9803, 9811, 9817, 9829, 9833, 9839, 9851, 9857, 9859, 9871, 9883, 9887,
         9901, 9907, 9923, 9929, 9931, 9941, 9949, 9967, 9973, 100003]

def main():
    x = int(input())
    for i in range(len(prime)):
        if prime[i] >= x:
            print(prime[i])
            return
    
if __name__ == "__main__":
    main()

Submission status: Wrong Answer

Solution code:
X = int(input())

def is_prime(n):
    if n <= 1:
        return False   
    else:
        for i in range(2, n):
            if n%i==0:
                return False
        return True

while is_prime(X)==False:
    X += 1

Submission status: Wrong Answer

Solution code:
X = int(raw_input())

def check_prime(X):
    import math
    s = int(math.ceil(math.sqrt(X)))
    print s
    for a in range(2, s):
        print X, a
        if X % a == 0: 
            return False
    return True

while True:
    if check_prime(X): break
    X += 1

print X

Submission status: Wrong Answer

Solution code:
import math

def prime(X):
    for i in range(2,math.ceil(math.sqrt(X))+1):
        if X % i == 0:
            return False
    return True

X = int(input())
while True:
    if prime(X):
        print(X)
        break
    X = X + 1

Submission status: Wrong Answer

Solution code:
def is_prime(X):
    flag = 1
    for i in range(2,int(X**0.5)+1):
        if X % i == 0:
            flag = -1
        if i == int(X**0.5) and flag == 1:
            print(X)
            exit()
X=int(input())

while(True):
    is_prime(X)
    X+=1

Submission status: Wrong Answer

Solution code:
X = int(raw_input())

def check_prime(X):
    import math
    s = int(math.ceil(math.sqrt(X)))
    for a in range(2, s+1):
        if X % a == 0: 
            return False
    return True

while True:
    if check_prime(X): break
    X += 1

print X

Submission status: Wrong Answer

Solution code:
def main():
  X = int(input())
  
  if(X%2>0):
    for i in range(50000):
      if(prime(X+i*2)==1):
        print(X+i*2)
        break
  else:
    for i in range(50000):
      if(prime(X+1+i*2)==1):
        print(X+1+i*2)
        break
        
def prime(A):
  m = int(A**0.5)
  for i in range(1,m,1):
    if(A%(i+1)==0):
      return 0
  return 1
    

if __name__=="__main__":
  main()

Submission status: Wrong Answer

Solution code:
import numpy as np
x=int(input())
a = 0
b = 0
while b == 0:
    s = int(np.sqrt(x))
    print(s,x)
    for i in range(s):
        if x % (i+2) == 0:
            a = 1
            x += 1
            break
    print(a)
    if a == 0:
        b = 1
    else:
        a = 0
print(x)

Submission status: Wrong Answer

Solution code:
x = int(input())

if x == 2:
    print(x)

while True:
    flg = True
    for i in range(2, x//2+1):
        if x % i == 0.0:
            flg = False
            break
    if flg:
        print(x)
        break
    x += 1

Submission status: Wrong Answer

Solution code:
N = int(input())
while True:
    judge = 1
    for i in range(2, N):
        if N % i == 0:
            judge *= N % i  #素数だとjudgeが0にならない
            break
        else:
            judge *= N % i  #素数だとjudgeが0にならない
    if judge > 1:
        print(N)
        exit()
    N += 1

Submission status: Wrong Answer

Solution code:
x=int(input())

def prime(n):
  limit=int(n**(1/2)+1)
  ans=True
  for i in range(2,limit+1):
    if n%i==0:
      ans=False
      break
  return ans

expected=x-1
flag=True
while flag==True:
  expected+=1
  if prime(expected):
    flag=False
    ans=expected
    break
print(ans)

Submission status: Wrong Answer

Solution code:
X=int(input())

import math
# 素数判定関数
def isPrime(num):
    # 2未満の数字は素数ではない
    if num < 2: return False
    # 2は素数
    elif num == 2: return True
    # 偶数は素数ではない
    elif num % 2 == 0: return False

    # 3 ~ numまでループし、途中で割り切れる数があるか検索
    # 途中で割り切れる場合は素数ではない
    for i in range(3, math.floor(math.sqrt(num))+1, 2):
        if num % i == 0:
            return False

    # 素数
    return True

pn=[]
for i in range(X, 10**5+4):
    print(i)
    if isPrime(i):
        pn.append(i)
print(min(pn))

Submission status: Wrong Answer

Solution code:
X=int(input())

pn=[2];
for L in range(X,10**5):
    chk=True
    for L2 in pn:
        if L%L2 == 0:chk=False
    if chk==True:pn.append(L)
print(min(pn))

Submission status: Wrong Answer

Solution code:
N = int(input())
n = N ** 2
primes = set(range(2, n+1))
for i in range(2, int(n**0.5+1)):
    primes.difference_update(range(i*2, n+1, i))

print(min(primes - set(range(2, N+1))))

Submission status: Wrong Answer

Solution code:
import math

P_lst=[2]
for i in range(1000):
  flag=0
  for j in P_lst:
    if (i+3)%j==0:
      flag=1

  if flag==0:
    P_lst.append(i+3)

X=int(input())

while X<=100000:
  flag=0
  x=math.sqrt(X)
  for k in P_lst:
    if X%k==0:
      break
    if x<k:
      flag=1
      break
  if flag==1:
    print(X)
    break
  X=X+1

Submission status: Wrong Answer

Solution code:
n = int(input())

while(True):
    flag = True
    n += 1
    for i in range(2, n):
        if n % i == 0:
            flag = False
            break
    if flag:
        break

print(n)

Submission status: Wrong Answer

Solution code:
# ABC149 C - Next Prime
X = int(input())

def isPrime(n):
    for i in range(2, n):
        if n % i == 0:
            return False
    return True

while True:
    if isPrime(X):
        break
    else:
        X += 1

Submission status: Wrong Answer

Solution code:
import math

check = 1
X = int(input())

while check == 1:
    check = 0
    dest = int(math.sqrt(X))    
    for i in range(2,dest):
        if X % i == 0:
            check = 1
            break
    if check == 1:
        X += 1

Submission status: Wrong Answer

Solution code:
x =int(input())
n = 2*10**5

is_prime = [True]*(n+1)
is_prime[0] = False

for i in range(2, n+1):
    if is_prime[i-1]:
        j = 2 * i
        while j <= n:
            is_prime[j-1] = False
            j += i

for i in range(x,n):
    if is_prime[i]==True:
        print(i+1)
        break

Submission status: Wrong Answer

Solution code:
import math
x = int(input())

def using_sqrt(k):
    factor = 0
    
    # 2以外の偶数は素数ではないので無視する
    if k % 2 == 0 and k != 2:
        return False
    
    # 繰り返しの上限を対象の平方根にする
    for divisor in range(2, math.floor(math.sqrt(k))+1):
        if k % divisor == 0:
            factor += 1
            
    if factor == 0:
        return True
    else:
        return False
            

for i in range(x,100000):
    if using_sqrt(i):
        print(i)
        break

Submission status: Wrong Answer

Solution code:
import math
def is_prime(n):
    if n == 1: return False
    for k in range(2, int(math.sqrt(n))+1):
        if n % k == 0:
            return False
        return True

X=int(input())

p = X
while(not is_prime(p)):
    p += 1
print(p)

Submission status: Wrong Answer

Solution code:
import math
x = int(input())
plus = 1 if x % 2 == 0 else 2

class Prime:
    seed_primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]

    def is_prime(self, n):
        """
        prime test (hybrid)

        see also: https://qiita.com/gushwell/items/ff9ed83ba55350aaa369

        :param n:
        :return: boolean
        """
        is_prime_common = self.is_prime_common(n)
        if is_prime_common is not None:
            return is_prime_common

        if n < 2000000:
            return self.is_prime_brute_force(n)
        else:
            return self.is_prime_miller_rabin(n)

    def is_prime_common(self, n):
        if n == 1: return False
        if n in Prime.seed_primes: return True
        if any(map(lambda x: n % x == 0, self.seed_primes)): return False

    def is_prime_brute_force(self, n):
        """
        brute force prime test
        use with is_prime_common if you want to skip seed_primes

        :param n:
        :return: boolean
        """
        for k in range(2, int(math.sqrt(n)) + 1):
            if n % k == 0:
                return False
        return True

    def is_prime_miller_rabin(self, n):
        """
        miller rabin prime test
        use with is_prime_common if you want to skip seed_primes

        see also
            algorithm: https://en.wikipedia.org/wiki/Miller%E2%80%93Rabin_primality_test
            implementation: https://qiita.com/srtk86/items/609737d50c9ef5f5dc59
            improvement: https://qiita.com/gushwell/items/ff9ed83ba55350aaa369

        :param n:
        :return: boolean
        """

        d = n - 1
        while d & 1 == 0:
            d >>= 1

        # use one of these lines / upper is more efficient.
        witnesses = self.get_witnesses(n)
        # witnesses = [random.randint(1, n - 1) for _ in range(100)]

        for w in witnesses:
            y = pow(w, d, n)

            while d != n - 1 and y != 1 and y != n - 1:
                y = (y * y) % n
                d <<= 1

            if y != n - 1 and d & 1 == 0:
                return False

        return True

    def get_witnesses(self, num):
        def _get_range(num):
            if num < 2047:
                return 1
            if num < 1373653:
                return 2
            if num < 25326001:
                return 3
            if num < 3215031751:
                return 4
            if num < 2152302898747:
                return 5
            if num < 3474749660383:
                return 6
            if num < 341550071728321:
                return 7
            if num < 3825123056546413051:
                return 9
            return 12

        return self.seed_primes[:_get_range(num)]

    def gcd(self, a, b):
        if a < b:
            return self.gcd(b, a)
        if b == 0:
            return a
        while b:
            a, b = b, a % b
        return a

    @staticmethod
    def f(x, n, seed):
        """
        pseudo prime generator
        :param x:
        :param n:
        :param seed:
        :return: pseudo prime
        """
        p = Prime.seed_primes[seed % len(Prime.seed_primes)]
        return (p * x + seed) % n

    def find_factor(self, n, seed=1):
        """
        find one of factor of n
        this function is based to Pollard's rho algorithm

        see also
            algorithm: https://en.wikipedia.org/wiki/Pollard%27s_rho_algorithm
            implementation: https://qiita.com/gushwell/items/561afde2e00bf3380c98

        :param n:
        :param seed:
        :return: factor
        """
        if self.is_prime(n):
            return n

        x, y, d = 2, 2, 1
        count = 0
        while d == 1:
            count += 1
            x = self.f(x, n, seed)
            y = self.f(self.f(y, n, seed), n, seed)
            d = self.gcd(abs(x - y), n)

        if d == n:
            return self.find_factor(n, seed + 1)
        return self.find_factor(d)

    def find_factors(self, n):
        primes = {}
        if self.is_prime(n):
            primes[n] = 1
            return primes

        while n > 1:
            factor = self.find_factor(n)

            primes.setdefault(factor, 0)
            primes[factor] += 1

            n //= factor

        return primes

prime = Prime()

x += plus
plus = 2
while True:
    if prime.is_prime(x):
        break
    x += plus
print(x)

Submission status: Wrong Answer

Solution code:
N = int(input())

if N%2==0 and not N==2:
    N=N+1

while True:
    for i in range(2, N//2+1):
        if N%i==0:
            N += 2
            continue
    
    break
print(N)

Submission status: Wrong Answer

Solution code:
N = int(input())

if N%2==0 and not N==2:
    N=N+1

while True:
    for i in range(2, N//2):
        if N%i==0:
            N += 2
            continue
    
    break
print(N)

Submission status: Wrong Answer

Solution code:
import math
t=0
X=int(input())
while True:
  t=0
  for i in range(2,math.ceil((X)**(1/2))+1):
    if X%i==0:
      break
    else:
      t+=1
  if t==math.ceil((X)**(1/2))-1:
    break
  X+=1
print(X)

Submission status: Wrong Answer

Solution code:
import math
import sys

m=10**9 + 7 
sys.setrecursionlimit(1000010)
INF=10**9


[X]  = list(map(int,input().split()))
# print(X)

def is_prime(n):
    if n == 1:
        return False
    for i in range(2,int(n**0.5)+1):
        if n % i == 0:
            return False
    return True


def primes(n):
    ass = []
    is_prime = [True] * (n + 1)
    is_prime[0] = False
    is_prime[1] = False
    for i in range(2, int(n**0.5) + 2):
        if not is_prime[i]:
            continue
        for j in range(i * 2, n + 1, i):
            is_prime[j] = False
    for i in range(len(is_prime)):
        if is_prime[i]:
            ass.append(i)
    return ass

for i in range(X+1,INF):
    if is_prime(i):
        print(i)
        exit(0)
print(-1)

Submission status: Wrong Answer

Solution code:
import math
import sys

m=10**9 + 7 
sys.setrecursionlimit(1000010)
INF=10**9


[X]  = list(map(int,input().split()))
# print(X)

def is_prime(n):
    if n == 1:
        return False
    for i in range(2,int(n**0.5)+1):
        if n % i == 0:
            return False
    return True


def primes(n):
    ass = []
    is_prime = [True] * (n + 1)
    is_prime[0] = False
    is_prime[1] = False
    for i in range(2, int(n**0.5) + 1):
        if not is_prime[i]:
            continue
        for j in range(i * 2, n + 1, i):
            is_prime[j] = False
    for i in range(len(is_prime)):
        if is_prime[i]:
            ass.append(i)
    return ass

for i in range(X+1,INF):
    if is_prime(i):
        print(i)
        exit(0)
print(-1)

Submission status: Wrong Answer

Solution code:
import math
import sys

m=10**9 + 7 
sys.setrecursionlimit(1000010)

[X]  = list(map(int,input().split()))
# print(X)

def is_prime(n):
    if n == 1:
        return False
    for i in range(2,int(n**0.5)+1):
        if n % i == 0:
            return False
    return True


def primes(n):
    ass = []
    is_prime = [True] * (n + 1)
    is_prime[0] = False
    is_prime[1] = False
    for i in range(2, int(n**0.5) + 1):
        if not is_prime[i]:
            continue
        for j in range(i * 2, n + 1, i):
            is_prime[j] = False
    for i in range(len(is_prime)):
        if is_prime[i]:
            ass.append(i)
    return ass

for i in range(X+1,X**2):
    if is_prime(i):
        print(i)
        exit(0)
print(-1)

Submission status: Wrong Answer

Solution code:
import sys
import copy

def is_prime(q):
    q = abs(q)
    if q == 2: return True
    if q < 2 or q&1 == 0: return False
    return pow(2, q-1, q) == 1

X = int(input())
flg = False
count = X
while flg==False:
    flg = is_prime(count)

    if flg==True:
        break
    count = count + 1
print(count)

Submission status: Wrong Answer

Solution code:
x=int(input())
n=10**5 +1
flag=0
pn=0
if x==2:
    print(2)
else:
    for i in range(x,n):
        flag=0
        for k in range(2, int((i)**(1/2))+2):
            if i%k==0:
                flag+=1
        if flag==0:
            pn=i
            break
    print(pn)

Submission status: Wrong Answer

Solution code:
import bisect
sieve=[1]*1000001
i=2
while i*i<=1000001:
    if sieve[i]==1:
        for j in range(i*i,1000001,i):
            sieve[j]=0
    i+=1
lol=[]
for i in range(2,1000001):
    if sieve[i]:
        lol.append(i)
        
x=int(input())
print(lol[bisect.bisect(lol,x)])

Submission status: Wrong Answer

Solution code:
def is_prime(n):
  for i in range(2, int(2 ** 0.5)):
    if n % i == 0:
      return False
  return True

x = int(input())

while not is_prime(x):
  x += 1

print(x)

Submission status: Wrong Answer

Solution code:
X = int(input())

if X %2 == 0:
        X += 1

while True:
        for i in range(3, X, 2):
                if X % i == 0:
                        break
                print(X)
                exit()
        X += 2

Submission status: Wrong Answer

Solution code:
def primes(N):
    p = [False, False] + [True] * (N - 1)
    for i in range(2, int(N ** 0.5) + 1):
        if p[i]:
            for j in range(i * 2, N + 1, i):
                p[j] = False
    return p


N = int(input())
P = primes(N * 2)
print([i for i in range(N + 1, N * 2) if P[i]][0])

Submission status: Wrong Answer

Solution code:
def is_prime(n):
    if n == 1:
        return False
    for i in range(2, int(n**0.5)+1):
        if n % i == 0:
            return False
    return True


def main():
    x = int(input())

    for i in range(x, 100003):
        if is_prime(i):
            print(i)
            exit()


if __name__ == '__main__':
    main()

Submission status: Wrong Answer

Solution code:
n = int(input())
l = [1]*100010
l[0] = 0
l[1] = 0
for i in range(2,10**5):
  if l[i]:
    for j in range(2*i,10**5,i):
      l[j] = 0
while not l[n]:
  n += 1
print(n)

Submission status: Wrong Answer

Solution code:
def is_prime(n):
    if n == 1:
        return False
    for i in range(2, int(n**0.5)+1):
        if n % i == 0:
            return False
    return True


def main():
    x = int(input())

    for i in range(x, 10007):
        if is_prime(i):
            print(i)
            exit()


if __name__ == '__main__':
    main()

Submission status: Wrong Answer

Solution code:
def is_prime(n):
    if n == 1:
        return False
    for i in range(2, int(n**0.5)+1):
        if n % i == 0:
            return False
    return True


def main():
    x = int(input())

    for i in range(x, 10**5):
        if is_prime(i):
            print(i)
            exit()


if __name__ == '__main__':
    main()

Submission status: Wrong Answer

Solution code:
import math

X = int(input())

def prime(x):
    if x >=3:
        if x % 2 == 0:
            return False
        else:    
            T = True
            i = 2
            while (T == True)&(1 < i <= math.ceil(math.sqrt(x))):
                if x % i == 0:
                    T = False
                i +=1
            return T
    else:
        return True

if X % 2 == 0:
    T = X + 1
    while (prime(T) == False):
        T +=2
    print(T)
else:
    T = X
    while (prime(T) == False):
        T +=2
    print(T)

Submission status: Wrong Answer

Solution code:
import math

X = int(input())

def prime(x):
    if x >=3:
        if x % 2 == 0:
            return False
        else:    
            T = True
            i = 2
            while (T == True)&(1 < i <= math.sqrt(x)):
                if x % i == 0:
                    T = False
                i +=1
            return T
    else:
        return True

if X % 2 == 0:
    T = X + 1
    while (prime(T) == False):
        T +=2
    print(T)
else:
    T = X
    while (prime(T) == False):
        T +=2
    print(T)

Submission status: Wrong Answer

Solution code:
import math

X = int(input())

def prime(x):
    if x >=3:
        if x % 2 == 0:
            return False
        else:    
            T = True
            i = 2
            while (T == True)&(1 < i < math.sqrt(x)):
                if x % i == 0:
                    T = False
                i +=1
            return T
    else:
        return True

if X % 2 == 0:
    T = X + 1
    while (prime(T) == False):
        T +=2
    print(T)
else:
    T = X
    while (prime(T) == False):
        T +=2
    print(T)

Submission status: Wrong Answer

Solution code:
lower = 2
upper = 100000
num = int(input("Enter your Number:"))
for prime in range(lower, upper + 1):
   # all prime numbers are greater than 1
   if prime > 1:
       for i in range(2, prime):
           if (prime % i) == 0:
               break
       else:
          if num < prime:
              print("This number :",prime)
              break

Submission status: Wrong Answer

Solution code:
a = int(input())

if a==2:
    print(2)
elif a==3:
    print(3)

elif a%2==0:
    k=0
    a-=1
    while k==0:
        a+=2
        count=0
        for i in range(2,a//2 + 1):
            if a%i!=0:
                count+=1
        if count==a//2 - 1:
            k=1
    print(a)
elif a%2!=0:
    k=0
    while k==0:
        a+=2
        count=0
        for i in range(2,a//2 + 1):
            if a%i!=0:
                count+=1
        if count==a//2 - 1:
            k=1
    print(a)

Submission status: Wrong Answer

Solution code:
import math
def trial_division(tar):
	dest  = int(math.sqrt(tar))+1
	for i in range(2,dest):
		if tar%i == 0:
			#print(int(i))
			return int(0) #not prime number
	return int(1) #prime number

x = int(input())
while trial_division(x)==0:
	x+=1

Submission status: Wrong Answer

Solution code:
# -*- Coding: utf-8 -*-

x = int(input())
min_sosu = x
flg_found = False

for i in range(x, 100000):
    for j in range(2, 100000):
        if i%j == 0 and j < x:
            break
        if i%j == 0 and j >= x and i == j:
            min_sosu = i
            flg_found = True
            print(min_sosu)
            break
    if flg_found:
        break