日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python 用递归求质数_编写一个递归函数,它接受和整数,如果它的所有数字都是质数,则返回“True”...

發(fā)布時間:2025/5/22 python 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 用递归求质数_编写一个递归函数,它接受和整数,如果它的所有数字都是质数,则返回“True”... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

要做到這一點,你只需要提取最后一個數(shù)字,檢查它是否是質(zhì)數(shù),然后繼續(xù)剩下的數(shù)字。在

編寫遞歸基本上由一個簡單的例子和一個遞歸組成,在這個過程中,你把問題分解成一個更小的問題,直到你進(jìn)入一個小的情況。在

因此,您需要做的是,找到不需要進(jìn)一步遞歸的簡單情況,并思考如何實現(xiàn)這一點:#separate the number (123) into a last Digit (3) and the rest (12)

lastDigit = n % 10

rest = int(n / 10)

如果我們有一個非素數(shù),我們可以返回False,并且不進(jìn)一步遞歸:

^{pr2}$

瑣碎部分只有一位數(shù),因此非平凡部分是這個,我們在這里進(jìn)行遞歸:if n > 10:

return allPrime(rest)

我們有一個例子,因為一個非素數(shù)而停止,我們有一個非平凡的例子

簡單的情況也不需要遞歸,因為我們已經(jīng)有了非素數(shù)的情況,我們只需要:return True

總結(jié)一下:def isPrime(n):

if n < 2: return False

if n == 2: return True

if n & 1 == 0: return False

for x in range(3, int(n ** 0.5)+1, 2):

if n % x == 0:

return False

return True

def allPrime(n):

lastDigit = n % 10

rest = int(n / 10)

if not isPrime(lastDigit):

return False

if n > 10:

return allPrime(rest)

return True

print(allPrime(9777))

print(allPrime(773))

總結(jié)

以上是生活随笔為你收集整理的python 用递归求质数_编写一个递归函数,它接受和整数,如果它的所有数字都是质数,则返回“True”...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。