Python編程算法【四十】可逆素數(shù)
【案例內(nèi)容】
請從小到大輸出所有4位數(shù)的可逆素數(shù)。
可逆素數(shù)是指一個素數(shù)將其各位數(shù)字的順序倒過來構成的反序數(shù)也是素數(shù)。
【解題思路】
本題的解法思路:可定義兩個函數(shù),分別完成相應的任務。
第一個函數(shù),用來判斷某個數(shù)是否為素數(shù),在之前的算法題中已經(jīng)寫過很多次。
第二個函數(shù)用來求某個數(shù)的反序數(shù)。此題先是巧妙使用str()函數(shù),將一個整數(shù)轉(zhuǎn)成字符型,接著就能很方便的進行倒序輸出,輸出的結(jié)果再利用int()函數(shù),重新轉(zhuǎn)換為整型,那么就得到了這個數(shù)的反序數(shù)。最后再次判斷該反序是否為素數(shù)即可。結(jié)合以上兩個函數(shù),便能找出所有4位數(shù)的可逆素數(shù)。
【Python代碼】


本題要求的是4位數(shù),所以數(shù)字循環(huán)的起點是1001,為何不是從1000開始,而是從1001呢?因為除了2以外,其余的偶數(shù)都不是素數(shù),因此還可以設置步長為2,也就是從1001開始的所有奇數(shù),跳過所有偶數(shù),從而提高程序的執(zhí)行效率!