24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1235  |  回复: 8
本帖产生 1 个 程序强帖 ,点击这里进行查看
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

tieer

木虫 (正式写手)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
xzhdty(金币+2): 欢迎讨论 2011-09-06 12:57:24
微尘、梦想(程序强帖+1): 追加~ 2011-09-07 11:58:31
呵呵,优化一下,快多了,3.09s
CODE:
# -*- coding: cp936 -*-
#欧拉工程 46 题
#任何一个奇合数都能写成一个素数与一个平方数的二倍的和,寻找破例
#n=prime+2*m**2
from math import sqrt
def isprime(p):    #验证是否素数,素数返回本身,合数返回False
    k=1
    for i in xrange(2,int(sqrt(p))+1):
        if p%i==0:
            k=0
            return False
            break
    if k:
        return p
n=35
while True:
    killer=1                   #设置猜想的判断参数
    if not isprime(n):         #验证是否素数,素数则n递增继续下一循环,合数进行下一步验证
        for i in xrange(3,n-1):#最小的素数应为3,若为2,则无法形成奇合数
            if isprime(i) and (sqrt((n-i)/2))%1==0:#浮点数取余,呵呵,还是python方便
                killer=0   #符合猜想
                break
    else:
        n+=2
        continue
    if killer:                 #验证完毕,不符合猜想,即为结果
        print('the number is:%d')%n
        break
    else:
        n+=2

思考,让这个世界更有趣。
6楼2011-09-05 12:02:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

智能机器人

Robot (super robot)

我们都爱小木虫

相关版块跳转 我要订阅楼主 wangww2011 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见