|
我来给个方法:
1~9,9个数,5奇4偶
从10开始,每10个数字构成一组,考察这组数
可以看到这组数奇偶各半,都是5个。末位数字的奇偶性决定了该数的奇偶性,所以末位数字也是奇偶各半
而该组数字有多少个数位是奇数?显然该组数中任意一个数除去个位后,剩余数位的奇数个数和乘以10再加上个位中有5个奇数,即是该组数字中奇数数位的个数和(汗,还是newkid翻译得准,我大半夜的眼睛都在打架了)
考察99及以内的数
1~9,9个数,数位5奇4偶
10~19,10个数,数位15奇5偶
20~29,10个数,数位5奇15偶
…………
90~99,10个数,数位15奇5偶
显然各组数的奇数数位个数都小于自身数的个数的2倍,究其原因,两位数中最多两个数字都是奇数,所以其不可能满足题设的奇数数位个数之和等于该组数个数的2倍
99*2=198,99及之内的数字奇数数位个数和为100,相差98
考察100~299之间的数
100~109,数位15奇15偶
110~119,数位25奇5偶
……
200~209,数位5奇25偶
210~219,数位15奇15偶
……
百位为奇数的,每20个数正好能自我平衡(即这20个数的奇数数位个数之和为其个数的2倍)
百位为偶数的,每20个数无法做到自我平衡,奇数数位个数和仅为其个数本身,小于其个数的2倍
百位数字上产生的缺口为
400*2=800
即999之内的数字,奇数数位个数之和比其个数的2倍少400+98=498
观察1000~2999,引用前面的结果
1000~1099,数位200奇200偶
1100~1199,数位300奇100偶 --由此开始,该组奇数数位个数之和超过了其个数的2倍
故而当达到1900~1999区间时,就会出现平衡
计算得出首次出现平衡的数为 1998
当累加到1999时,奇数数位个数之和超过了数字总个数的2倍,盈余为2
接下来就要找到一组数,使得盈余能亏下去后再实现平衡最后一直盈余,或者直接能使得这个盈余一直都大于0,那就能找到满足条件的最大的数了
继续观察2000~2999
2000~2099,数位100奇300偶
2100~2199,数位200奇200偶
……
可得出2000~2999,每200个数字能做到亏100
而在3000~3999,每200个数字能做到盈余100
所以2000~3999,实现了自我平衡
类推,得4000~5999、6000~7999、8000~9999都实现了自我平衡
于是从1~9999,奇数数位个数之和比数字个数的2倍多2,出于盈余的状态
观察10000~11999
10000~10099,数位200奇300偶 --总体实现了自我平衡
10100~10199,数位300奇200偶
……
11000~11099,数位350奇150偶
11100~11199,数位400奇100偶
可得出10000~11999,奇数数位个数和为1250*5=6250,比其个数的2倍:2000*2=4000,多出2250
12000~13999、14000~15999、……、18000~19999,每组数的盈余都是2250
考察20000~21999
20000~20099,数位100奇400偶
20100~20199,数位200奇300偶 --实现了自我平衡
……
21000~21099,数位250奇250偶
21100~21199,数位300奇200偶
可得出20000~21999,奇数数位个数和为850*5=4250,比其个数的2倍:2000*2=4000,多出250
单独考察20000~20099中带来最大盈余的数的范围20000~20098,其不足以平衡10000~19999带来的盈余,而其后又实现了自我平衡甚至盈余,故而最大的满足题设条件的数不会超过20000。
回过头来考察10000~11999,只有在10000~10099之间总体实现了自我平衡,从10100~10199开始就实现了盈余,其后不断重复自我平衡、盈余甚至更多盈余,因此最大的数不应超过10100
10000~10009,数位15奇,亏5
10010~10019,数位25奇,盈5 --至此,10000~10019实现自我平衡
……
只要在10000~10099范围内找到一个数,在其组内计算到其为止,能实现盈3,这样的数取最大,就是我们要求的数
10080~10089,数位15奇,亏5
10090~10096,数位17奇,盈3
10096就是所求 |
|