【python】算法设计:回文素数

算法描述:
回文素数是指一个数既是素数又是回文数。例如,131,既是素数又是回文数。用户输入一个正整数n,请你在一行内输入从小到大排列的前n个回文素数,数字后面用一个空格进行分隔。
输入格式:输入一个正整数
输出格式:符合要求的回文素数
def is_prime(n):
    """定义判断素数的函数,传入一个整数n,判定n是否为素数,n为素数返回True,否则返回False"""
    if n<2:  #0和1以及负数都不是素数
        return False #False为假,代表不是素数
    for i in range(2,n):  #遍历从2到n-1的数字
        if n%i==0: #当存在能被整数整除的数时,不是素数
            return False  #False为假,代表n不是素数
    else:   #与for子句匹配,i==2时也进入此语句块
        return True  #True为真,代表n是素数


#函数与主程序之间一般用2个空行分隔
#主程序接受一个整数输入,在一行内输出小于这个整数的所有素数
def palingrome(my_string):
    """接受一个字符串参数,判定字符串是否是回文数,返回布尔值"""
    if my_string==my_string[::-1]:
        return True
    else:
        return False


#逻辑运算短路效应,左边能够计算结果时,右边将被忽视,节约计算量,把计算量大的放在逻辑符号右边
if __name__ == '__main__':
    num = int(input())
    for n in range(2,num): #n是整数
        if palingrome(str(n)) and is_prime(n): #参数为字符串,str(n)
           print(n,end=' ')

  • 10
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值