让我们定义一个序列:n位求和序列(n-DSS)是一个以n开头的序列。如果最后一个数字是k,那么下一个数字是k + digit-sum(k)。以下是前几个n-DSS:
1-DSS: 1, 2, 4, 8, 16, 23, 28, 38, 49, 62, 70...
2-DSS: 2, 4, 8, 16, 23, 28, 38, 49, 62, 70, 77...
3-DSS: 3, 6, 12, 15, 21, 24, 30, 33, 39, 51, 57...
4-DSS: 4, 8, 16, 23, 28, 38, 49, 62, 70, 77, 91...
5-DSS: 5, 10, 11, 13, 17, 25, 32, 37, 47, 58, 71...
6-DSS: 6, 12, 15, 21, 24, 30, 33, 39, 51, 57, 69...
7-DSS: 7, 14, 19, 29, 40, 44, 52, 59, 73, 83, 94...
8-DSS: 8, 16, 23, 28, 38, 49, 62, 70, 77, 91, 101...
9-DSS: 9, 18, 27, 36, 45, 54, 63, 72, 81, 90, 99...
对于1,这是A004207,尽管由于定义稍有不同,前几位数字也有所不同。对于3,它是A016052;为9,A016096。
今天的挑战是找到给定数字出现的最低n位数字和序列。这称为“哥伦比亚逆函数”,即A036233。以20开头的前20个项是:
1, 1, 3, 1, 5, 3, 7, 1, 9, 5, 5, 3, 5, 7, 3, 1, 5, 9, 7, 20
其他一些好的测试用例:
117: 9
1008: 918
您只需要处理大于0的整数,就可以采用任何标准格式进行输入和输出。像往常一样,这是代码高尔夫球,因此每种语言的最短答案都会获胜。