python - 【闲来无事,大家都来发表下想法】一道数论题

查看:88
本文介绍了python - 【闲来无事,大家都来发表下想法】一道数论题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

题目:一个数最后一位是6,移动到首位是原来数的三倍,求这个数
要求:速度最优

大神们快来踊跃探讨~~~

解决方案

先贴上一版:

x = 6
xs = []
while True:
    xs.append(x // 3)
    x = x % 3 * 10 + x // 3
    if x == 6:
        print ''.join(str(x) for x in xs)
        break

输出:

2068965517241379310344827586

原理是手算,把每次得到的商的末位补到被除数的最后,然后继续除法,直到末位为6,且余数为0停止。

这篇关于python - 【闲来无事,大家都来发表下想法】一道数论题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆