编程题
自我数 ## 来源 Mid-Central USA 1998 (ZOJ1180, POJ1316) ## 题目描述 1949年,印度数学家D.R.Kaprekar发现了一类叫做自我数(self number)的数。对于任一正整数n,定义d( n )为n加上n的每一位数字得到的总和。例如,d(75) = 75 + 7 + 5 = 87。 取任意正整数n为出发点,可建立一个无穷的正整数序列:n,d(n),d(d(n)),d(d(d(n))),…。 例如,从33开始,下一个数字是33 + 3 + 3 = 39,再下一个是51,…。如此便产生一个整数数列:33,39,51,57,69,84,96,111,114,120,123,129,141,…。 数字n被叫做整数d(n)的生成器。在如上的数列中,33是39的生成器,39是51的生成器,等等。有些数字有多于一个生成器,如101有两个生成器,91和100。而没有生成器的数字则称做自我数(self number)。100以内的自我数共有13个:1,3,5,7,9,20,31,42,53,64,75,86,和97。 ## 输入描述 此题无输入。 ## 输出描述 输出所有小于或等于1000000的正的自我数,以升序排列,并且每个数占一行。 ## 样例输入 此题无输入。 ## 样例输出 ```txt 1 3 5 … <— 这里有许多自我数 9949 … ```
查看答案
赣ICP备20007335号-2