A = {1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 3, 0, 3, ...}
a(1)=1, 1^2个数码={1}, 最后一个数是1。
a(2)=4, 2^2个数码={1, 2, 3, 4}, 最后一个数是4。
a(3)=9, 3^2个数码={1, 2, 3, 4, 5, 6, 7, 8, 9}, 最后一个数是9。
a(4)=13, 4^2个数码={1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0, 1, 1, 1, 2, 1}, 最后一个数是13(进1)。
a(5)=17, 5^2个数码={1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, 1, 5, 1, 6, 1, 7}, 最后一个数是17。
a(6)=23, 6^2个数码={1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 2, 0, 2, 1, 2, 2, 2}, 最后一个数是23(进1)。
a(7)=29, 7^2个数码={1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9}, 最后一个数是29。
a(8)=37, 8^2个数码={1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 3, 0, 3, 1, 3, 2, 3, 3, 3, 4, 3, 5, 3, 6, 3}, 最后一个数是37(进1)。
a(9)=45, 9^2个数码={1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 3, 0, 3, 1, 3, 2, 3, 3, 3, 4, 3, 5, 3, 6, 3,7,3,8,3,9,4,0,4,1,4,2,4,3,4,4,4,5}, 最后一个数是45。
{1, 4, 9, 13, 17, 23, 29, 37, 45, 55, 65, 77, 89, 102, 111, 122, 133, 144, 157, 170, 183, 198, 213, 228, 245, 262, 279, 298, 317, 336, 357, 378, 399, 422, 445, 468, 493, 518, 543, 570, 597, 624, 653, 682, 711, ——这串数。
A。Table[NestWhile[# + 1 &, 0, (n^2 - Total[IntegerLength /@ Range@#]) > 0 &], {n, 21}]
B。Table[Module[{k = 0, L = n^2}, While[L > 0, k++; L -= IntegerLength@k]; k], {n, 21}]
C。Table[Block[{k = 0, L = n^2}, While[L > 0, L -= IntegerLength[++k]]; k], {n, 21}]
D。Table[Block[{k = p = 0}, While[(t = p + 9 (k + 1) 10^k) <= n^2, p = t; k++]; 10^k - 1 + Ceiling[(n^2 - p)/(k + 1)]], {n, 161}]
A, B, C, D, 2楼的公式(太丑了), 都可以出来这串数。只是A速度慢了。D是最好的——n^2可以改n^3, n^4, n^5, ... n^n, 2^n, 3^n, 4^n, 5^n, n!, n(n+1), n(n+1)/2, ...... 。
可以有很多OEIS没有的数字串。 |