鱼C论坛

 找回密码
 立即注册
查看: 2078|回复: 5

[技术交流] 小练习结果揭晓:能被两个素数整除的最大整数

[复制链接]
发表于 2017-10-31 20:44:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
原帖子:http://bbs.fishc.com/forum.php?m ... p;extra=#pid3055717

题目:
在≤ 100的整数中,能整除的素数只有2和3的最大整数是96,因为96=32*3=25*3。对于两个不同的素数p和q,在≤N的正整数中,能整除的素数只有p和q的最大整数记为M(p,q,N);如果这样的正整数不存在,则记M(p,q,N)=0。
例如,M(2,3,100)=96。
M(3,5,100)=75而非90,因为90能被2、3、5整除。
此外M(2,73,100)=0,因为不存在≤ 100的正整数使得能整除的素数只有2和73。
记S(N)为所有不同的M(p,q,N)之和。S(100)=2262。
求S(10 000 000)。

正确答案是:11109800204052

回答正确的鱼油是:
gunjang 但我运行程序时在primes[i*i::i] = False处报错。
jerryxjr1220    10.37s
wc365            161.27s
小Q学Python   8.33s
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-10-31 21:49:51 | 显示全部楼层
可以的呀,我的是3.6.3,64bit
11109800204052
cost 6.140378s

***Repl Closed***
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-10-31 21:53:05 | 显示全部楼层
gunjang 发表于 2017-10-31 21:49
可以的呀,我的是3.6.3,64bit
11109800204052
cost 6.140378s

我验算的结果是
Python 3.6.0 |Anaconda custom (32-bit)| (default, Dec 23 2016, 12:06:52) [MSC v.1900 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>>
========================== RESTART: D:\py\test2.py ==========================
Traceback (most recent call last):
  File "D:\py\test2.py", line 36, in <module>
    print(solve(10000000)) #11109800204052
  File "D:\py\test2.py", line 9, in solve
    if primes: primes[i*i::i] = False
IndexError: failed to coerce slice entry of type int to integer
>>>
很奇怪。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-31 22:13:22 | 显示全部楼层
冬雪雪冬 发表于 2017-10-31 21:53
我验算的结果是
Python 3.6.0 |Anaconda custom (32-bit)| (default, Dec 23 2016, 12:06:52) [MSC v.19 ...

是很奇怪,这段就是素数筛法
我直接copy jerryxjr1220的代码
换过几台电脑,3.4 3.6.3都可以的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-31 22:25:10 | 显示全部楼层
gunjang 发表于 2017-10-31 22:13
是很奇怪,这段就是素数筛法
我直接copy jerryxjr1220的代码
换过几台电脑,3.4 3.6.3都可以的

错的
不应该是 limit//2
而是 int(limit**0.5)+1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-1 05:49:37 From FishC Mobile | 显示全部楼层
gunjang 发表于 2017-10-31 22:13
是很奇怪,这段就是素数筛法
我直接copy jerryxjr1220的代码
换过几台电脑,3.4 3.6.3都可以的

sixpy大神讲的对的,你这段代码肯定不是完全copy我的,因为我没这样写过^_^
后面质数的生成,我一般都是先用nonzero生成以后再[2:]切片的,而不会先把0和1索引赋值False。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 12:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表