Python编程算法【四十】可逆素数 天天热推荐
发布时间:2023-04-23 03:49:32来源:哔哩哔哩
(资料图片)
【案例内容】
请从小到大输出所有4位数的可逆素数。可逆素数是指一个素数将其各位数字的顺序倒过来构成的反序数也是素数。
【解题思路】
本题的解法思路:可定义两个函数,分别完成相应的任务。第一个函数,用来判断某个数是否为素数,在之前的算法题中已经写过很多次。第二个函数用来求某个数的反序数。此题先是巧妙使用str()函数,将一个整数转成字符型,接着就能很方便的进行倒序输出,输出的结果再利用int()函数,重新转换为整型,那么就得到了这个数的反序数。最后再次判断该反序是否为素数即可。结合以上两个函数,便能找出所有4位数的可逆素数。
【Python代码】
本题要求的是4位数,所以数字循环的起点是1001,为何不是从1000开始,而是从1001呢?因为除了2以外,其余的偶数都不是素数,因此还可以设置步长为2,也就是从1001开始的所有奇数,跳过所有偶数,从而提高程序的执行效率!