Python編程算法【四十一】孿生素?cái)?shù)
【案例內(nèi)容】
孿生素?cái)?shù)是指:若a為素?cái)?shù),且a+2也是素?cái)?shù),則素?cái)?shù)a和a+2稱為孿生素?cái)?shù)。求1000以內(nèi)的孿生素?cái)?shù)。
【解題思路】
本題的邏輯思路還是比較簡單的,我們可以先定義一個(gè)判斷是否為素?cái)?shù)的函數(shù),接著用一個(gè)循環(huán),遍歷1000以內(nèi)的所有數(shù)字,找出某個(gè)數(shù)是素?cái)?shù),并且該數(shù)+2也還是素?cái)?shù),那么也就找到了孿生素?cái)?shù),從而解答出此題。在循環(huán)遍歷1000以內(nèi)的數(shù)字時(shí),由于我們要找的是素?cái)?shù),那么我們可以考慮從2開始,但2+2=4,4明顯不是素?cái)?shù),所以其實(shí)可以從3開始,同時(shí)除了2以外,其余偶數(shù)都不是素?cái)?shù),因此在用for循環(huán)時(shí),可以再設(shè)置一個(gè)步長為2,也就是從3開始,每次加2,即:3、5、7...,循環(huán)結(jié)束數(shù)字是997,如果循環(huán)數(shù)字結(jié)束在999的話,再+2就超出1000了,而題目的要求是找出1000以內(nèi)的孿生素?cái)?shù)。具體代碼如下:
【Python代碼】

本題還定義一個(gè)變量n,用來存儲(chǔ)1000以內(nèi)共有多少對孿生素?cái)?shù)。經(jīng)程序計(jì)算,共有35對,第一對是3和5,最后一對是881和883。