python找素数 递归_如何在Python中使用递归找到素数

我必须找出数字(N)是否是质数,不允许使用递归。我试过将使用for循环的常用代码转换为递归代码,但它的行为不同。此函数包含在另一个函数中,该函数是另一个函数的一部分。只应使用和传递参数a和N

这是我的功能。a=2

def is_prime(a,N):

prime = True

if N <=1:

return

else:

if a >= N:

return

else:

if N == 2:

prime = True

print(N)

return

elif (N % a) == 0:

prime = False

return is_prime(a+1,N)

else:

prime = True

print(N)

return

我相信虫子就在这里。elif (N % a) == 0:

prime = False

return is_prime(a+1,N)

else:

prime = True

print(N)

这是我试图转换的代码。if num > 1:

for i in range(2,num):

if (num % i) == 0:

print(num,"is not a prime number")

print(i,"times",num//i,"is",num)

break

else:

print(num,"is a prime number")

else:

print(num,"is not a prime number")

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值