题目描述#
一个正整数n,其数码和为m,如果m能整除n,那么我们称这个整数是“合理”的。现在给你一个n,请求不大于n的最大的“合理”数。
输入格式#
第一行是一个整数T (1≤T≤10000),表示样例的个数。
以后每行一个整数n (1≤n≤10^9)。
输出格式#
依次每行输出一个样例的结果。
样例输入#
3 1 13 1000000000
样例输出#
1 12 1000000000
解析#
直接上代码:
#include<stdio.h>
int main()
{
int T,n,m,n1,i;
scanf("%d",&T);
while(T--){
scanf("%d",&n);
for(i=n;i>=1;i--){
n1=i;
m=0;
while(n1){
m=m+n1%10;
n1/=10;
}
if(i%m==0) {
printf("%d\n",i);
break;
}
}
}
return 0;
}