版块导航
正在加载中...
客户端APP下载
论文辅导
申博辅导
登录
注册
帖子
帖子
用户
本版
应《网络安全法》要求,自2017年10月1日起,未进行实名认证将不得使用互联网跟帖服务。为保障您的帐号能够正常使用,请尽快对帐号进行手机号验证,感谢您的理解与支持!
24小时热门版块排行榜
>
论坛更新日志
(563)
>
虫友互识
(76)
>
导师招生
(18)
>
硕博家园
(9)
>
论文投稿
(7)
>
基金申请
(5)
>
考博
(5)
>
文献求助
(5)
>
博后之家
(4)
>
休闲灌水
(4)
>
论文道贺祈福
(3)
>
催化
(3)
>
公派出国
(3)
>
考研
(3)
>
外文书籍求助
(2)
>
教师之家
(2)
小木虫论坛-学术科研互动平台
»
计算模拟区
»
程序语言
»
其它
»
Project Euler 47 欧拉工程 47 题
5
1/1
返回列表
查看: 1249 | 回复: 4
只看楼主
@他人
存档
新回复提醒
(忽略)
收藏
在APP中查看
本帖产生 2 个 程序强帖 ,点击这里进行查看
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖
wangww2011
木虫
(著名写手)
程序强帖: 13
应助: 11
(小学生)
金币: 4023.1
散金: 2709
红花: 18
沙发: 1
帖子: 1915
在线: 1537.1小时
虫号: 772953
注册: 2009-05-17
性别: GG
专业: 凝聚态物性 II :电子结构
[交流]
Project Euler 47 欧拉工程 47 题
已有3人参与
前两个连续拥有两个素数因子的数是:
14 = 2 * 7
15 = 3 * 5
前三个连续拥有三个素数因子的数是:
644 = 2^2 * 7 * 23
645 = 3 * 5 * 43
646 = 2 * 17 * 19.
请找到前四个连续拥有四个素数因子的数,这四个数中的第一个数是多少?
回复此楼
» 猜你喜欢
求助:我三月中下旬出站,青基依托单位怎么办?
已经有10人回复
26申博(荧光探针方向,有机合成)
已经有4人回复
要不要辞职读博?
已经有3人回复
论文终于录用啦!满足毕业条件了
已经有26人回复
2026年机械制造与材料应用国际会议 (ICMMMA 2026)
已经有4人回复
磺酰氟产物,毕不了业了!
已经有6人回复
Cas 72-43-5需要30g,定制合成,能接单的留言
已经有8人回复
北京211副教授,35岁,想重新出发,去国外做博后,怎么样?
已经有8人回复
自荐读博
已经有3人回复
不自信的我
已经有5人回复
高级回复
» 本主题相关价值贴推荐,对您同样有帮助:
Project Euler 50 欧拉工程 50 题
已经有12人回复
Project Euler 49 欧拉工程 49 题
已经有5人回复
Project Euler 48 欧拉工程 48 题
已经有30人回复
Project Euler 46 欧拉工程 46 题
已经有8人回复
Project Euler 45 欧拉工程 45 题
已经有7人回复
Euler 工程 第三十八题
已经有9人回复
Euler 工程 第廿九题:有多少不同的项?
已经有30人回复
Euler 工程 第廿六题:最长的循环节
已经有9人回复
欧拉工程,第二十一题,计算10000以下亲和数的和。
已经有14人回复
Euler Project Q17. 欧拉工程第十七题
已经有4人回复
Euler 工程第十六题:2的1000次方的各项和
已经有14人回复
Euler 工程 第十五题:从左上角到右下角有多少条路?
已经有5人回复
Euler 工程 第14题:找最长的数列
已经有9人回复
Euler Project Q13 欧拉工程第十三题
已经有20人回复
Euler Project Q12 欧拉工程第十二题
已经有23人回复
Euler Project Q8. 欧拉工程第八题
已经有4人回复
Euler Project Q7. 欧拉工程第七题
已经有14人回复
1楼
2011-09-07 12:24:51
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
libralibra
至尊木虫
(著名写手)
骠骑将军
程序强帖: 40
应助: 817
(博后)
金币: 12914.1
红花: 64
帖子: 2238
在线: 287.3小时
虫号: 696514
注册: 2009-02-05
专业: 计算机软件
★ ★ ★
小木虫(金币
+0.5
):给个红包,谢谢回帖
jjdg(金币+2): 感谢参与 2011-09-08 10:06:50
matlab
CODE:
% ans =
% 134043
function result = euler47()
tic;
result = 644;
while 1
result = result+1;
if length(unique(factor(result)))==4 && ...
length(unique(factor(result+1)))==4 && ...
length(unique(factor(result+2)))==4 && ...
length(unique(factor(result+3)))==4
break;
end
end
toc;
end
赞
一下
(2人)
回复此楼
高级回复
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
4楼
2011-09-08 01:09:04
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
查看全部 5 个回答
tieer
木虫
(正式写手)
程序强帖: 4
应助: 48
(小学生)
金币: 1528.2
散金: 565
红花: 26
帖子: 551
在线: 739.7小时
虫号: 761880
注册: 2009-05-02
专业: 高分子材料结构与性能
★ ★ ★ ★
小木虫(金币
+0.5
):给个红包,谢谢回帖
余泽成(金币+3, 程序强帖+1): 欢迎参与讨论! 2011-09-07 22:03:57
还是没人上答案啊,那就上我的超慢版吧,1241s,
CODE:
# -*- coding: cp936 -*-
#Project Euler 47 欧拉工程 47 题
#前四个连续的拥有四个素数因子的数,这四个数中的第一个数是多少?
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
def istheresult(n,m=0):
actor=[i for i in xrange(3,n+1,2) if n%i==0] #奇约数列表
if n%2==0:
actor.append(2)
primelist=[i for i in actor if isprime(i)] #约数中的素数
if len(primelist)==4:
if m:print primelist
return True
number=647
while True:
if istheresult(number)and istheresult(number+1)and istheresult(number+2) and istheresult(number+3):
print number,istheresult(number,1)
print number+1,istheresult(number+1,1)
print number+2,istheresult(number+2,1)
print number+3,istheresult(number+3,1)
break
else:
number+=1
答案:
134043 [3, 7, 13, 491]
134044 [23, 31, 47, 2]
134045 [5, 17, 19, 83]
134046 [3, 11, 677, 2]
[
Last edited by tieer on 2011-9-7 at 20:56
]
赞
一下
(2人)
回复此楼
思考,让这个世界更有趣。
2楼
2011-09-07 20:30:18
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
wangww2011
木虫
(著名写手)
程序强帖: 13
应助: 11
(小学生)
金币: 4023.1
散金: 2709
红花: 18
沙发: 1
帖子: 1915
在线: 1537.1小时
虫号: 772953
注册: 2009-05-17
性别: GG
专业: 凝聚态物性 II :电子结构
★ ★ ★
余泽成(金币+3, 程序强帖+1): 辛苦! 2011-09-07 22:04:18
我也贴出平庸版本吧
CODE:
644
134043
CODE:
#!/usr/bin/env python
from math import sqrt
def primeN(n):
t=[n]
while True:
for i in range(2,int(sqrt(t[0])+1)):
if t[0]%i==0:
t.append(i)
t[0]=t[0]/i
break
else:
break
return len(set(t))
def euler47(num):
n=1
while True:
for i in range(num):
if primeN(n+i)!=num:
break
else:
break
n+=1
return n
if __name__ == "__main__":
print euler47(3)
print euler47(4)
还有一个经典解法为(看到的):
CODE:
n=200000
factors=[0]*n
for i in range(2,n):
if factors[i] == 0 :
for j in range(2*i,n,i):
factors[j] += 1
for i in range(2,n):
if factors[i:i+4]==4*[4]:
print i
[
Last edited by wangww2011 on 2011-9-7 at 23:07
]
赞
一下
(1人)
回复此楼
3楼
2011-09-07 21:44:52
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
chyanog
金虫
(小有名气)
程序强帖: 1
应助: 12
(小学生)
金币: 808.1
红花: 5
帖子: 85
在线: 52.8小时
虫号: 1540955
注册: 2011-12-17
性别: GG
专业: 计算数学与科学工程计算
★
小木虫: 金币+0.5, 给个红包,谢谢回帖
Mathematica做Project euler优势更大,
楼上的matlab代码运行了40s,mathematica版的1.4s
CODE:
(*method1*)
Catch@Do[
If[
Length@FactorInteger[i] == 4 &&
Length@FactorInteger[i + 1] == 4 &&
Length@FactorInteger[i + 2] == 4 &&
Length@FactorInteger[i + 3] == 4, Throw@i],
{i, 10^6}] // AbsoluteTiming
(*method2*)
i = 1;
NestWhile[Length@FactorInteger[i++] != 4 &, , Or, 4]; // AbsoluteTiming
i - 4
赞
一下
回复此楼
5楼
2013-09-15 18:32:16
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
查看全部 5 个回答
如果回帖内容含有宣传信息,请如实选中。否则帐号将被全论坛禁言
普通表情
龙
兔
虎
猫
高级回复
(可上传附件)
百度网盘
|
360云盘
|
千易网盘
|
华为网盘
在新窗口页面中打开自己喜欢的网盘网站,将文件上传后,然后将下载链接复制到帖子内容中就可以了。
信息提示
关闭
请填处理意见
关闭
确定