24小时热门版块排行榜    

CyRhmU.jpeg
南方科技大学公共卫生及应急管理学院2025级博士研究生招生报考通知
查看: 2190  |  回复: 9
本帖产生 1 个 程序强帖 ,点击这里进行查看
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

★ ★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
jjdg(金币+3): 辛苦了 2011-06-11 22:44:31
dubo(金币+1): 欢迎常来程序语言版讨论 2011-06-11 22:44:43
余泽成(程序强帖+1): 2011-06-15 21:03:07
模拟除法,python代码
CODE:
#! usr/bin/env python

from mytictoc import tic, toc

# 返回1/n的循环节长度
def findCircleLen(n):
    rem = 1
    # 循环节前面的0,不影响结果
    while rem         rem *= 10

    # 保存余数的list
    rem_list = []
   
    # 计算余数
    rem %= n

    # 做除法,循环直到: a)余数为0; b)以前出现过的余数再次出现
    while rem!=0 and rem not in rem_list:

        rem_list.append(rem) # 添加当前余数到余数列表
        
        rem *= 10 # 补0

        # 一直补到可以接着做除法,保存补零后的结果到列表
        while rem             rem_list.append(rem)
            rem *= 10

        # 计算下一个余数
        rem %= n

    # 循环结束时,如果余数为0,说明整除,循环节长度返回0
    if rem==0:
        return 0

    # 返回循环节长度
    else:
        return len(rem_list)

def euler26():
    tic()
    s = [findCircleLen(x) for x in xrange(2,1000)]
    print 2+s.index(max(s))
    toc()

if __name__=='__main__':
    euler26()

结果:
CODE:
983
Elapsed time: 0.52579169 seconds

[ Last edited by libralibra on 2011-6-11 at 15:17 ]
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2011-06-11 15:15:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

智能机器人

Robot (super robot)

我们都爱小木虫

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