题目大姨:开始给出了一个"自私数"的定义,这个定义是什么呢?如果一个数不能分解为另一个数和那个数各位数字之和,它就是一个"自私数",举个例子,比如87可以分解为75+7+5,所以87就不是"自私数".....这道题要输出1~10000以内的"自私数"。。。。
思路:利用一个数和这个数各个数字之和除9同余,假设t是"自私数",设它可以被n分解,n的各位和是s,那么就有t%9=(n%9+s%9)%9,如果t%9为奇数,那么(t%9+9)/2就等于s%9和n%9,否则t%9等于s%9和n%9,这样就求出了n%9,然后对n%9~t的每一个n测试,如果能分解就不是"自私数"否则就是"自私数",最后125ms飘过。。