python输出最大的素数_Python中的最大素数回文

该博客记录了作者在编写程序时的过程,目标是找到小于1000的最大质数,而非回文数。作者尝试了多次,最终通过分离判断质数和回文数的函数来提高效率,成功找到了答案929。程序中包含了质数检测函数`is_prime()`和回文检查的逻辑。
摘要由CSDN通过智能技术生成

我正在尝试创建一个程序,它输出的质数最高,而不是回文,并且小于1000。预期产量应为929

尝试1number = 1

prime = 1

maxNumber = 1000

while number > maxNumber:

if str(number) == str(number)[::-1]: #Inverts the string

for number in range(number,maxNumber): #Increments number until 1000

for i in range(2, number): #Checks current number and divides all lower

if number % i == 0:

break

else:

prime = number

print(prime)

尝试2

^{pr2}$

尝试三,我按照建议将两个函数分开,以减少处理时间for number in xrange(1000):

if str(number) == str(number)[::-1]: and is_prime(number):

prime = number

print(number)

#Method to find prime numbers

def is_prime(n):

if n == 2 or n == 3:

return True

elif n < 2 or n%2 == 0:

return False

elif n < 9:

return True

elif n%3 == 0:

return False

r = int(n**0.5)

f = 5

while f <= r:

if n%f == 0:

return False

if n%(f+2) == 0:

return False

f +=6

return True

尝试4:接收错误[未定义名称'is_prime']for number in range(1000,3,-1):

if str(number) == str(number)[::-1] and is_prime(number):

print(number)

break

#Method to check if number is prime

def is_prime(n):

if n == 2 or n == 3: return True

if n < 2 or n%2 == 0: return False

if n < 9: return True

if n%3 == 0: return False

r = int(n**0.5)

f = 5

while f <= r:

if n%f == 0: return False

if n%(f+2) == 0: return False

f +=6

return True

最后的解决方案:谢谢大家的帮助。这比我预想的更有帮助。在#Method to check if number is prime

def is_prime(n):

if n == 2 or n == 3: return True

if n < 2 or n%2 == 0: return False

if n < 9: return True

if n%3 == 0: return False

r = int(n**0.5)

f = 5

while f <= r:

if n%f == 0: return False

if n%(f+2) == 0: return False

f +=6

return True

#Checking for numbers that are palindromes and prime

for number in range(1000,3,-1):

if str(number) == str(number)[::-1] and is_prime(number):

print(number)

break

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值