python 用递归求质数_编写一个递归函数,它接受和整数,如果它的所有数字都是质数,则返回“True”...
要做到這一點,你只需要提取最后一個數字,檢查它是否是質數,然后繼續剩下的數字。在
編寫遞歸基本上由一個簡單的例子和一個遞歸組成,在這個過程中,你把問題分解成一個更小的問題,直到你進入一個小的情況。在
因此,您需要做的是,找到不需要進一步遞歸的簡單情況,并思考如何實現這一點:#separate the number (123) into a last Digit (3) and the rest (12)
lastDigit = n % 10
rest = int(n / 10)
如果我們有一個非素數,我們可以返回False,并且不進一步遞歸:
^{pr2}$
瑣碎部分只有一位數,因此非平凡部分是這個,我們在這里進行遞歸:if n > 10:
return allPrime(rest)
我們有一個例子,因為一個非素數而停止,我們有一個非平凡的例子
簡單的情況也不需要遞歸,因為我們已經有了非素數的情況,我們只需要:return True
總結一下: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))
總結
以上是生活随笔為你收集整理的python 用递归求质数_编写一个递归函数,它接受和整数,如果它的所有数字都是质数,则返回“True”...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java quartz 触发_手动触发Q
- 下一篇: java super()方法_Java