文档章节

平方回文素数

寂寞暴走伤
 寂寞暴走伤
发布于 2016/07/14 19:32
字数 383
阅读 2
收藏 0

问题描述:

素数的平方是回文,比如11*11=121。
求不超过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**2)==str(n**2)[::-1]:
        return True
    else:
        return False
for j in range(2,1000):
    if prime(j) and palindrome(j):
        print j,


结果:

2 3 11 101 307


我的思路:

过程很简单,还是定义两个函数,一个用来判断出入的数是否是素数,另一个用来判断传入数的平方是否为回文数,最后遍历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**2 == Reverse(i**2):
            arr.append(i)
        i += 1
    return arr
print RPrimeNumber(1000)


结果:

[2, 3, 11, 101, 121, 307]


示例代码的结果中的121是错误的,121=11*11   121*121=14641,如果这算是对的,那么111也应该算进去的,111=3*37  111*111=12321


更改:

将示例代码中while  i <  x改为while  i <=  x即可,错误的原因是判断素数的取值范围(2到数的平方根之间的值,)错误,少算了math.sqrt(num);


更改后的结果:

[2, 3, 11, 101, 307]



题目出处:http://www.cheemoedu.com/exercise/24

© 著作权归作者所有

上一篇: 肇事车辆
寂寞暴走伤
粉丝 0
博文 40
码字总数 20969
作品 0
南阳
运维
私信 提问
Python3 欧拉计划 问题51-55

问题46—50参见:https://www.jianshu.com/p/530e1482169e 51、素数数字替换 将两位数a3的第一个数字替换为任意数字,在九个可能值中有六个是素数:13、23、43、53、73和83。将五位数56aa3的...

AiFan
2018/01/08
0
0
Python3 欧拉计划 问题36-40

问题31—35参见:https://www.jianshu.com/p/199a1762f3a0 36、二进制回文数 十进制数585 的二进制表示为 1001001001,可以看出它在这两种进制下都是回文数。找出所有小于一百万,且在十进制...

AiFan
2017/12/29
0
0
1.2 Palindromic Squares

给出进制N(2<=N<=20),求1至300范围内其平方表示成N进制后为回文数的所有数字,输出这些数字和对应的平方回文。 问题很简单,直接对1至300范围内的每个数平方,然后用除k取余法求其k进制表...

zzwei
2012/08/28
0
0
Python3 欧拉计划 问题6-10

问题1-5参见 http://www.jianshu.com/p/f333469fe784 问题6、平方的和与和的平方之差 前10个自然数平方的和是:1^2 + 2^2 +… + 10^2 = 385。前10个自然数和的平方是:(1 + 2 + … + 10)^2 ...

AiFan
2017/11/14
0
0
UOJ#433. 【集训队作业2018】串串(循环串/回文串)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_35649707/article/details/84572894 传送门 题解: 这道题主要用到的几个性质(具体证明可以看题解): 1....

DZYO
2018/11/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

阿里云POLARDB如何助力轻松筹打造5亿用户信赖的大病筹款平台?

轻松筹首创了“大病救助”模式,帮助了众多病患在第一时间解決了医疗资金等问题,为了从源头解决了医疗资金问题。而在轻松筹这样全球5.5亿用户信赖的大病筹款平台的背后,是日益增长的各种数...

阿里云云栖社区
25分钟前
4
0
Confluence 6 在升级过程中查看合并日志

为了监控升级的过程,你应该查看 application log 日志中的输出。 通常日志经常将会显示多个日志实例,这个实例是定义在日志的 INFO 级别的,通常格式如下: WikiToXhtmlMigrationThread-n -...

honeymoose
25分钟前
2
0
git diff 文件对比

git diff filepath 工作区与暂存区比较 git diff HEAD filepath 工作区与HEAD ( 当前工作分支) 比较 git diff --staged 或 --cached filepath 暂存区与HEAD比较 git diff branchName filepa......

李佳顺
25分钟前
1
0
spring mvc 定制化配置

spring mvc 自定义配置 1.实现某些接口,然后让上面的类加载进去. class MyHandlerMethodArgumentResolver implements HandlerMethodArgumentResolver { @Override public boolean......

最爱肉肉
28分钟前
2
0
OSG_采样像机的内容如果不显示到窗口上

cameraLight->setRenderTargetImplementation(Camera::FRAME_BUFFER_OBJECT);// 这句使内容不渲染到屏幕上cameraLight->setRenderOrder(Camera::PRE_RENDER); 1.setRenderTargetImplement......

洛克人杰洛
31分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部