欢迎光临散文网 会员登陆 & 注册

Python编程算法【四十二】回文素数

2023-05-06 17:54 作者:SPC编程爱好者  | 我要投稿

【案例内容】

    所谓回文素数指的是,对一个整数n从左向右和从右向左读其数值都相同且n为素数,则称整数n为回文素数。请求出所有不超过1000的回文素数。


【解题思路】

    本题的解答思路:可设定两个函数,分别处理相应的操作。第一个函数用来判断一个数是否素数,此函数已在之前的案例中写过多次,这里不再赘述。
    第二个函数是用来判断一个数是否为回文数,针对本题来说,常规做法是将一个数的每一位,分别取出来,如果是三位数,就把百位当个位,个位当百位,重新组合成一个新的数,然后判断这个新的数是否与原数相等,如果是那么该数就是回文数。两位数以此类推。另一种”非常规“做法,就是先把该数转成str(字符型),然后直接就可以倒序,反转后无需再重新转回int(数值型),即可判断原数与倒序后的数,是否相等,如果相同就是回文数。
    最后,同时用这两个函数判断,如果均为True,则表示该数是回文素数。具体代码如下:


【Python代码】

设置两个函数
1000以内的回文素数

    注意两个函数的返回值是bool(布尔值),用for循环时可直接从11开始,提高效率。循环时用if语句结合两个函数,即可求出1000以内的回文素数。

Python编程算法【四十二】回文素数的评论 (共 条)

分享到微博请遵守国家法律