【題解】ZeroJudge d613: Prime Gap

【題目敘述】https://zerojudge.tw/ShowProblem?problemid=d613

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

def func(num, s):
    if not prime(num+s):
        return func(num+s, s) + 1
    else:
        return 0
    
while True:
    try:
        k = int(input())
        if k == 0:
            break
        if prime(k):
            print(0)
            continue
        print(func(k, 1) + func(k, -1) + 2)
            
    except:
        break
分享本文 Share with friends