2011-12-16 12:20:57
地址:http://acm.hdu.edu.cn/showproblem.php?pid=1128
题意:d(n)被定义为n各位数码和+n。输出[1,1000000]内不存在i使得d(i)==n的所有n。
mark:直接搜,开个100w的数组。
代码:
# include <stdio.h>
int dp[1000010] ;
int d(int n)
{
int sum = 0, nn = n ;
while (nn)
{
sum += nn%10 ;
nn /= 10 ;
}
return n + sum ;
}
int main ()
{
int i, n ;
for (i = 1 ;i <= 1000000 ; i++)
{
n = d(i) ;
if (n <= 1000000 && n >= i) dp[n] = 1 ;
if (dp[i] == 0) printf ("%d\n", i) ;
}
return 0 ;
}