发现一个小问题
1--99999里面 1的数量是500001--99999里面 2的数量是50000
1--99999里面 3的数量是50000
1--99999里面 4的数量是50000
1--99999里面 5的数量是50000
1--99999里面 6的数量是50000
1--99999里面 7的数量是50000
1--99999里面 8的数量是50000
1--99999里面 9的数量是50000
看到没,除了0 比较特殊以外,其他的数字含量都是一样的,当初造自然数的人 就已经考虑这些东西了?
这里面是否有快速算法,我开始时用了字符串,毫无疑问,最简单的代码 会导致最慢的速度,后来用取模计算,确实提升了一些,可是还是有明显的停顿
for y in range(10):
print("1--99999里面 %d的数量是%d"%(y,a3(99999,y))) 本帖最后由 tommyyu 于 2022-12-7 15:47 编辑
用字符串也不慢啊,我这里一下子就出结果了x = {'0':0, '1':0, '2':0, '3':0, '4':0, '5':0, '6':0, '7':0, '8':0, '9':0}
for i in range(1, 100000):
for j in str(i):
x+=1
页:
[1]