RagnaLP @ 2017-08-04 23:02:17
排开个位数
好像是按照3-3-4的规律进位
然后就似乎不正确的简单了
4 : 16 5 : 32 6 : 64 //3个进位
7 : 128
8 : 256
9 : 512
//3个进位
10 : 1024
11 : 2048
12 : 4096
13 : 8192
//4个进位
14 : 16384
15 : 32768
16 : 65536
//3个进位
17 : 131072
18 : 262144
19 : 524288
//3个进位
20 : 1048576
21 : 2097152
22 : 4194304
23 : 8388608
//4个进位
24 : 16777216
25 : 33554432
26 : 67108864
//3个进位
27 : 134217728
28 : 268435456
29 : 536870912
//3个进位
30 : 1073741824
31 : 2147483648
32 : 4294967296
33 : 8589934592
//4个进位
34 : 17179869184
35 : 34359738368
36 : 68719476736
//3个进位
37 : 137438953472
38 : 274877906944
39 : 549755813888
//3个进位
40 : 1099511627776
41 : 2199023255552
42 : 4398046511104
43 : 8796093022208
//4个进位
44 : 17592186044416
45 : 35184372088832
46 : 70368744177664
//3个进位
47 : 140737488355328
48 : 281474976710656
49 : 562949953421312
//3个进位
50 : 1125899906842624
51 : 2251799813685248
52 : 4503599627370496
53 : 9007199254740992
//4个进位
54 : 18014398509481984
55 : 36028797018963968
56 : 72057594037927936
//3个进位
57 : 144115188075855872
58 : 288230376151711744
59 : 576460752303423488
//3个进位
60 : 1152921504606846976
61 : 2305843009213693952
62 : 4611686018427387904
63: 9223372036854775808
//4个进位
·····
虽然有公式,但好像有些道理的样子
by Niscet @ 2017-08-04 23:05:21
%%%%
by X_o_r @ 2017-08-05 11:07:11
我认为3,4进位频率应该是有个比值的,这个比值是方程(3x+4y)/(x+y)=log2(10)的解,解出来以后x:y=(4-log2(10)):(log2(10)-3)大约就是2.10628372:1就这么几个数据当然接近2:1也就是334,其实个位就是一个特例
by X_o_r @ 2017-08-05 11:18:48
因为2的若干次幂-1不影响位数,所以这题的位数就是trunc(log10(2)*p)+1
by Hanabi_BNUAZ @ 2017-09-05 21:02:04
呵呵,不对啊,你看数据吧,数据是1297,答案是386,按照3-3-4的规律的话以十为一循环,每次的位数增加3,最终先把前面的2的1,2,3次方减掉,还剩余1276,除以10再乘以三的答案是381,再加上前面减掉的1,2,3的位置,加上一位,就是382,最后拿1276和10取模,答案是6,依照3-3-4的条件,最后是3,答案再加上2,最终得到的答案是382+2=384,与题目中的386的答案不匹配啊。如果认为这种计算方法是错的,你拿29来试一下,2的29次方的位数是9位,(int)(29-3)的结果是2,2*3=6,最后加上一和余数所对应的商6,最终答案是6+1+2,答案是九。所以这种方法貌似有点坑啊
by 愤鸟先飞 @ 2017-10-31 17:23:09
TLE喷雾