回答

4

(the_big_number/(10^n)) % 10拉出大数的第二个最低有效位数,所以长度只是从最右边的“零”(1 + 3 = 4)长度开始存储,然后跟随长度在最左边的“九十九”(7 + 3 = 10)。

最短的英文数字是三个字母(“一”,“二”,“六”,“十”),所以每个长度的存储偏移量为三。 100之前最长的是9 + 3 = 12个字母(例如“78”),所以每个数字可以存储为一个数字。

2

从右边开始:

  • 第一个数字是多少个字母是“零”零下3
  • 第二个数字是多少个字母是“一”,再减去3
  • 第三个数字...
  • ... 100 th数字是多少个字母在“九十九”减三。

注意,最长号码“77”只有12个字母,它方便地安装在一个单一的数字减去3