|
用 python 3.6 运行了一下, 发现问题了:
python 2.7 的 n/10 等价于 python 3.6 的 n//10
pytong 3.6 的 print 是函数了
- C:\Users\Elim>ipython
- Python 3.6.0 (default, Jan 23 2017, 20:01:14) [MSC v.1900 64 bit (AMD64)]
- Type 'copyright', 'credits' or 'license' for more information
- IPython 6.2.1 -- An enhanced Interactive Python. Type '?' for help.
- In [1]: from math import *
- In [2]: def s(n,m):
- ...: return max(int(ceil((n-m+1)/(abs(n)+abs(m)+1.))),0)
- ...:
- In [3]: def m(n):
- ...: r = n%10
- ...: k = n//10
- ...: u = 6**k
- ...: if 3 < r and r < 6:
- ...: return 0
- ...: if 0 < k:
- ...: if r < 4:
- ...: return 2*max(r,1)*(u//3)
- ...: return 2*(s(r,6)+s(r,9))*u
- ...: return s(r,0)+s(r,3)+2*s(r,9)
- ...:
- In [4]: m(12),m(81),m(108)
- Out[4]: (8, 1119744, 120932352)
- In [5]: for k in range(1,109):
- ...: print("m(%3d) = %d" %(k,m(k)))
- ...:
- m( 1) = 1
- m( 2) = 1
- m( 3) = 2
- m( 4) = 0
- m( 5) = 0
- m( 6) = 2
- m( 7) = 2
- m( 8) = 2
- m( 9) = 4
- m( 10) = 4
- m( 11) = 4
- m( 12) = 8
- m( 13) = 12
- m( 14) = 0
- m( 15) = 0
- m( 16) = 12
- m( 17) = 12
- m( 18) = 12
- m( 19) = 24
- m( 20) = 24
- m( 21) = 24
- m( 22) = 48
- m( 23) = 72
- m( 24) = 0
- m( 25) = 0
- m( 26) = 72
- m( 27) = 72
- m( 28) = 72
- m( 29) = 144
- m( 30) = 144
- m( 31) = 144
- m( 32) = 288
- m( 33) = 432
- m( 34) = 0
- m( 35) = 0
- m( 36) = 432
- m( 37) = 432
- m( 38) = 432
- m( 39) = 864
- m( 40) = 864
- m( 41) = 864
- m( 42) = 1728
- m( 43) = 2592
- m( 44) = 0
- m( 45) = 0
- m( 46) = 2592
- m( 47) = 2592
- m( 48) = 2592
- m( 49) = 5184
- m( 50) = 5184
- m( 51) = 5184
- m( 52) = 10368
- m( 53) = 15552
- m( 54) = 0
- m( 55) = 0
- m( 56) = 15552
- m( 57) = 15552
- m( 58) = 15552
- m( 59) = 31104
- m( 60) = 31104
- m( 61) = 31104
- m( 62) = 62208
- m( 63) = 93312
- m( 64) = 0
- m( 65) = 0
- m( 66) = 93312
- m( 67) = 93312
- m( 68) = 93312
- m( 69) = 186624
- m( 70) = 186624
- m( 71) = 186624
- m( 72) = 373248
- m( 73) = 559872
- m( 74) = 0
- m( 75) = 0
- m( 76) = 559872
- m( 77) = 559872
- m( 78) = 559872
- m( 79) = 1119744
- m( 80) = 1119744
- m( 81) = 1119744
- m( 82) = 2239488
- m( 83) = 3359232
- m( 84) = 0
- m( 85) = 0
- m( 86) = 3359232
- m( 87) = 3359232
- m( 88) = 3359232
- m( 89) = 6718464
- m( 90) = 6718464
- m( 91) = 6718464
- m( 92) = 13436928
- m( 93) = 20155392
- m( 94) = 0
- m( 95) = 0
- m( 96) = 20155392
- m( 97) = 20155392
- m( 98) = 20155392
- m( 99) = 40310784
- m(100) = 40310784
- m(101) = 40310784
- m(102) = 80621568
- m(103) = 120932352
- m(104) = 0
- m(105) = 0
- m(106) = 120932352
- m(107) = 120932352
- m(108) = 120932352
复制代码
|
|