回文素数
2016-06-24 12:22
232 查看
程序地址:http://www.cheemoedu.com/exercise/23
问题描述:
所谓回文素数是指,对一个整数n从左向右和从右向左读结果值相同且是素数,即称为回文素数。
求不超过1000的回文素数。
我的代码:
结果:
2 3 5 7 11 101 131 151 181 191 313 353 373 383 727 757 787 797 919 929
我的思路:
定义两个函数,一个用来判断传入的数是否为素数,另一个用来判断传入的数是否为回文数,然后遍历2到1000中的数,判断是否同时满足既是素数又是回文数;
示例代码:
结果:
[2, 3, 4, 5, 7, 9, 11, 101, 121, 131, 151, 181, 191, 313, 353, 373, 383, 727, 757, 787, 797, 919, 929]
示例代码有点问题,4和121虽然是回文数但不是素数(2*2和11*11),应该是素数判断函数有问题,把其中的while i < x改为while i <= x即可;
改回来后的结果:
[2, 3, 5, 7, 11, 101, 131, 151, 181, 191, 313, 353, 373, 383, 727, 757, 787, 797, 919, 929]
问题描述:
所谓回文素数是指,对一个整数n从左向右和从右向左读结果值相同且是素数,即称为回文素数。
求不超过1000的回文素数。
我的代码:
import math def prime(m): count=0 for i in range(2,int(math.sqrt(m))+1): if m%i==0: count=1 if count!=1: return True else: return False def palindrome(n): if str(n)==str(n)[::-1]: return True else: return False for j in range(2,1000): if prime(j) and palindrome(j): print j,
结果:
2 3 5 7 11 101 131 151 181 191 313 353 373 383 727 757 787 797 919 929
我的思路:
定义两个函数,一个用来判断传入的数是否为素数,另一个用来判断传入的数是否为回文数,然后遍历2到1000中的数,判断是否同时满足既是素数又是回文数;
示例代码:
import math def isPrimeNumber(num): i = 2 x = math.sqrt(num) while i < x: if num%i == 0: return False i += 1 return True def Reverse(num): rNum = 0 while num: rNum = rNum*10 + num%10 num /= 10 return rNum def RPrimeNumber(num): arr = [] i = 2 while i < num: if isPrimeNumber(i) and i == Reverse(i): arr.append(i) i += 1 return arr print RPrimeNumber(1000)
结果:
[2, 3, 4, 5, 7, 9, 11, 101, 121, 131, 151, 181, 191, 313, 353, 373, 383, 727, 757, 787, 797, 919, 929]
示例代码有点问题,4和121虽然是回文数但不是素数(2*2和11*11),应该是素数判断函数有问题,把其中的while i < x改为while i <= x即可;
改回来后的结果:
[2, 3, 5, 7, 11, 101, 131, 151, 181, 191, 313, 353, 373, 383, 727, 757, 787, 797, 919, 929]
相关文章推荐
- iOS Hybrid 框架 ——PhoneGap
- 基数排序
- 在vSphere网络中不能只在交换机一端配置链路聚合
- pulltorefreshlistview的自定义下拉刷新动画
- 算法导论第二十五章-所有结点对的最短路径问题-Cpp代码实现
- 前端之HTML
- 用JSON-server模拟REST API(二) 动态数据
- css积累
- vim visual model
- NYOJ 116 士兵杀敌(二) (树状数组) 插点问线
- 第十四周项目三数组类模板
- 第15周范型程序设计
- Linux 下C++编写
- Java基础之HashSet
- 何时用new?
- 关于 overridePendingTransition()使用
- React Native控件学习之ProgressBarAndroid讲解
- 安装oracle即时客户端
- Thinking in Java 笔记初衷
- TabHost,标签页的使用