1. 程式人生 > >CTF每日一題之求素數

CTF每日一題之求素數

 大概翻譯一下就是說,求一百萬以後的兩個素數,素數本身的位數加起來也得是素數 就是 23 是個宿舍 2+3 為5 5也是素數,這樣

ok,1百萬以後,這種題,默默的開啟QT ,想了一下還是關了,默默的開啟pycharm 。

程式碼貼上:

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


def is_prime2(n):
    sum=0
    while(n):
        sum+=n%10
        n/=10
    if(is_prime(n)):
        return True
    else:
        return False


for i in range(1000001,2000000,2):
    if(is_prime(i)):
        if(is_prime2(i)):
            print(i)

嗯,求出來很多結果,然後提示說要前兩個

嗯 可能是我的指令碼有毛病 為什麼第一個是 1000003  ,他們加起來變成了非素數,所以不是,然後選擇第二個,和第三個,然後組合起來提交即可,所以答案是 10000331000037

所以 ,嗯,完全ok