python问题求解

反素数指一个素数将其逆向拼写后也是一个素数的非回文数,编写一个函数判断一个数是否是反素数并编写测试程序找出前30个反素数输出到屏幕上每行8个数每个数占5列右对齐

做个判断素数函数,以及整数求反函数就好了

def isprime(n):
   i=2
   while i<n:
      if n%i==0:
         return 0
      i=i+1
   return 1

def rev(n):
   m=0
   while n>0:
      m=m*10+n%10
      n//=10
   return m

def revprime(n):
   if isprime(n) and isprime(rev(n)):
      return 1
   return 0

count = 0
n = 2
while count < 30:
   if revprime(n) == 1:
      count = count+1
      if count%8==0:
         print()
      print("%5d"%n,end="")
   n=n+1

def isPrime(x):
    i=2
    while i*i<=x:
        if x%i==0:
            return 0
        i+=1
    return 1

def fun(x):
    s=int(str(x)[::-1])
    return isPrime(x) and isPrime(s) and x!=s

i=0
x=2
while i<30:
    if fun(x):
        print(f'{x:5}',end='')
        i+=1
        if i%8==0:
            print()
    x+=1

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632