还是上次那个素数妹子的题(已知素数的积,求这2个素数)。
妹子还提了附加题:从1开始到微信ID的数字中(),奇数序列里一共出现了多少个3。
这次练习附加题:
import time start = time.clock() inum = 866278171 sum = 0 def fsum(n, sum): n = str(n) for i in range(len(n)): if n[i] == ‘3‘: sum += 1 return sum for i in range(3, inum+1): if i % 2 == 0: continue if str(i).find(‘3‘) > -1 : sum = fsum(i, sum) print(‘1 ~ {} 之间的奇数序列,总共有 {} 个 3 。‘.format(inum, sum)) end = time.clock() print(‘耗时:{}‘.format(end - start))
不过这个运行很耗时,不知道有没有更好的方法,或加速程序执行速度的方法。
原文:https://www.cnblogs.com/yjys/p/10726705.html