zl程序教程

您现在的位置是:首页 >  其他

当前栏目

【基础入门题009】求五位的质回文数

基础入门 回文 009
2023-09-14 09:01:29 时间

【基础入门题】2021.11.05

求五位的即10000~99999范围内的质数,并且又是回文数(即从个位开始倒置值不变,如3、11、131......)

编程语言:包括但不限于Python
题目来源:派森特给站每日刷题频道

————————————————

方法一:数字转字串判断回文

def isPrime(n):
    if n==1: return False
    for i in range(2,int(n**0.5)+1):
        if n%i==0: return False
    return True

def isPalindrome(n):
    t = str(n)
    if t==t[::-1]: return True
    return False
 
def PalinPrime(n):
    pp = []
    count = 0
    for i in range(10**(n-1),10**n):
        if isPalindrome(i) and isPrime(i):
            count += 1
            pp.append(i)
    print(f'{n}位质回文数的个数:{count}')
    for i in range(count):
        if (i+1)%10:
            print(pp[i],end='\t')
        else:
            print(pp[i],end='\n')
 

PalinPrime(5)

'''
5位质回文数的个数:93
10301	10501	10601	11311	11411	12421	12721	12821	13331	13831
13931	14341	14741	15451	15551	16061	16361	16561	16661	17471
17971	18181	18481	19391	19891	19991	30103	30203	30403	30703
30803	31013	31513	32323	32423	33533	34543	34843	35053	35153
35353	35753	36263	36563	37273	37573	38083	38183	38783	39293
70207	70507	70607	71317	71917	72227	72727	73037	73237	73637
74047	74747	75557	76367	76667	77377	77477	77977	78487	78787
78887	79397	79697	79997	90709	91019	93139	93239	93739	94049
94349	94649	94849	94949	95959	96269	96469	96769	97379	97579
97879	98389	98689	
'''

方法二: 不转字符串判断回文

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

def isPrime(n):
    if n==1: return False
    for i in range(2,int(n**0.5)+1):
        if n%i==0: return False
    return True

def PalinPrime(n):
    pp = []
    count = 0
    for i in range(10**(n-1),10**n):
        if i==numReverse(i) and isPrime(i):
            count += 1
            pp.append(i)
    print(f'{n}位质回文数的个数:{count}')
    for i in range(count):
        if (i+1)%10:
            print(pp[i],end='\t')
        else:
            print(pp[i],end='\n')
 

PalinPrime(5)

欢迎加入CSDN社区!http://​https://bbs.csdn.net/forums/PythonTogethericon-default.png?t=LA92http://xn--https-kt3b//bbs.csdn.net/forums/PythonTogether