找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 16762|回复: 8

[问题求助] 欧拉计划501题,大数量级的怎么搞

[复制链接]
发表于 2016-4-12 15:19:52 | 显示全部楼层 |阅读模式
本帖最后由 元芳你怎么看 于 2016-4-12 15:22 编辑

  1. """
  2. 欧拉计划501
  3. 原题链接:https://projecteuler.net/problem=501
  4. """
  5. import math
  6. def Ghost_Euler_501(num):
  7.         sumeight = 0
  8.         for i in range(1,num+1):
  9.                 counts = Ghost_Factor1(i)           #len(Ghost_Factor(i))
  10.                 if counts == 8:
  11.                         sumeight = sumeight + 1
  12.         print("The eight factors of %d is %d" % (num,sumeight))
  13.        

  14. def Ghost_Factor(n):
  15.         factors = []
  16.         for i in range(1,n+1):
  17.                 if n%i == 0:
  18.                         factors.append(i)
  19.         #print(factors)
  20.         return(factors)

  21. def Ghost_Factor1(n):
  22.         counter = 0
  23.         sqrt_n = math.sqrt(n)
  24.         for i in range(1,int(sqrt_n)):
  25.                 if n%i == 0:
  26.                         counter = counter + 2
  27.         if sqrt_n - int(sqrt_n) == 0:
  28.                 counter = counter + 1
  29.         else:
  30.                 counter = counter + 2
  31.         return(counter)

复制代码
 楼主| 发表于 2016-4-12 15:22:49 | 显示全部楼层
刚开始想着转换成列表的形式,使用len()函数,发现到了10万级的直接懵逼了;后来将求因数的方法改了一下,10万的能搞了,100万的直接又懵逼了。
求大神解答!!!!!!!!!!
发表于 2016-4-12 15:34:11 | 显示全部楼层
好厉害。~
可是懵逼是什么意思呢?
发表于 2016-4-12 15:39:44 | 显示全部楼层
本帖最后由 happy886rr 于 2016-4-12 15:43 编辑

回复 2# 元芳你怎么看
我才做到39题。天那,你这是要封顶的节奏啊,牛人。501题有中文翻译吗?我英语不好啊!
 楼主| 发表于 2016-4-12 15:42:25 | 显示全部楼层
本帖最后由 元芳你怎么看 于 2016-4-12 15:44 编辑

回复 3# codegay


    参数是10**5的时候相应时间还可以,算10**6的时候电脑响应不过来了
    电脑懵逼就是响应时间太长了,短时间算不出来,下回改正
 楼主| 发表于 2016-4-12 15:43:30 | 显示全部楼层
本帖最后由 元芳你怎么看 于 2016-4-12 15:45 编辑

回复 4# happy886rr


    绝对新手,第一次做欧拉的题,倒着做了一个
发表于 2016-4-12 15:48:40 | 显示全部楼层
回复 6# 元芳你怎么看
题目要10的12次方,也就是一万亿,看看有必要更改算法吗?
发表于 2016-4-12 16:51:24 | 显示全部楼层
回复 4# happy886rr


    pe-cn.github.io/problems/
发表于 2016-4-12 17:13:40 | 显示全部楼层
欧拉计划的题目一般都是算法题。
可以在算法上优化。
欧拉计划的题目在网上都有很多讨论和公开的代码,可以看看别人的讨论和代码。

我不懂数学和算法,所以呢前面的简单题我已经解不出来了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 05:09 , Processed in 0.013742 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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