考虑正整数数组:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, ...
然后,将它们串联:
1234567891011121314151617181920212223242526...
然后将它们分成可变长度的块,每个长度等于第N个正整数:
[1][23][456][7891][01112][131415][1617181][92021222][324252627][2829303132] ...
---------------------------------------------------------------------------
1 2 3 4 5 6 7 8 9 10 ...
任务
给定整数N(对于1索引为正数或对于0索引为非负数),您的任务是输出第N个块中的数字增量(和连续数字之间的差)。
范例与测试案例
1个索引的测试用例。如果您希望索引为0,则只需将N减1。
N, Chunk, Deltas, Sum
1 -> 1 -> [] -> 0
2 -> 23 -> [1] -> 1
3 -> 456 -> [1, 1] -> 2
4 -> 7891 -> [1, 1, -8] -> -6
5 -> 01112 -> [1, 0, 0,1] -> 2
6 -> 131415 -> [2, -2, 3, -3, 4] -> 4
7 -> 1617181 -> [5, -5, 6, -6, 7, -7] -> 0
8 -> 92021222 -> [-7, -2, 2, -1, 1, 0, 0] -> -7
9 -> 324252627 -> [-1, 2, -2, 3, -3, 4, -4, 5] -> 4
10 -> 2829303132 -> [6, -6, 7, -6, -3, 3, -2, 2, -1] -> 0
CodeGolf-Hackathon上的Puzzle 2(我也是该游戏的原始作者,因此可以重新发布)。相关,灵感。相关的。
有点与亲戚有关但不是真的
—
詹姆斯
连续数字之间所有差异的总和就是最后一个与第一个之间的差异。
—
KSmarts