链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4458
code
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
while(n--)
{
int N,m = 0;
scanf("%d",&N);
int sum = 0;
for(int j = N - 50; j < N ; j ++)
{
int a,b;
a = b = j;
while(b)
{
a += b% 10;
b /= 10;
}
if( a + b == N)
{
sum = j;
break;
}
}
printf("%d\n",sum);
}
return 0;
}
注意事项,还有种方法是先枚举从1到100000以内的所有数字,但是个人觉得也很麻烦,其实对于每一个N来说,M-N《=45,所以只要遍历从M-45到N的范围内就好了。