V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
rundis
V2EX  ›  问与答

新手自己用 python 写了个分解质因数脚本,加入了质数库,但是总出错,怎么办

  •  
  •   rundis · 2015-03-14 23:23:42 +08:00 · 2112 次点击
    这是一个创建于 3572 天前的主题,其中的信息可能已经有所发展或是发生改变。


    但是总是出错,自己翻来翻去也没找到错误在哪,希望大神帮看下,谢谢!

    我的具体思路是,搞两个txt文件分别储存质数库和目前质数库的范围。利用len()函数来判断用户输入的数字是几位数,如果位数超过了数据库的范围,就自行更新数据库。举例:数据库里面有2-10的所有质数,然后我现在输入20,超出范围,程序自行更新数据库到2-100的所有质数,再运算。这样就避免了在没有数据库的情况下因为数字太大运算效率低(牺牲第一次的运算效率来计算质数库)。但是实际使用的时候,我发现我输入100,然后程序开始自主更新数据库,但是更新出来的并不是2-100的所有质数,仅仅到了29。同理,在输入很大的数字的时候,也只能更新到300多左右的质数,也就是说更新的不够多,但是我检查了很多遍代码都没搞明白问题出在哪里,。。


    *代码中的注释内容基本解释了所有的变量,方便大家看代码。。。
    mindcat
        1
    mindcat  
       2015-03-15 02:18:56 +08:00
    无法直视喵。 直接上bitmap算了喵.
    例如说 1字节 00110100 中就有 2, 3, 5数字意义喵。

    这种代码猫猫懒的检查,重写算了喵。
    mindcat
        2
    mindcat  
       2015-03-15 02:23:16 +08:00
    硬要说的话就尝试把 `int(i*0.5)+1`替换成 `i`喵。
    rundis
        3
    rundis  
    OP
       2015-03-15 09:18:40 +08:00 via iPhone
    @mindcat 重写也一样啊,那个改成i没用的…只会增加计算量…
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3018 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 14:06 · PVG 22:06 · LAX 06:06 · JFK 09:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.