CTF每日一題之求素數
阿新 • • 發佈:2018-11-08
大概翻譯一下就是說,求一百萬以後的兩個素數,素數本身的位數加起來也得是素數 就是 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