您的位置:首页 > 其它

UVa 1583-Digit Generator-AC

2014-12-16 08:30 411 查看
这道题看完题很容易出思路,再想想优化循环,不必从头到尾没个数循环判断,因为最大为10 0000,所以N的generator最小也就比N小5*9=45,所以只需循环判断从N~N-45就行了。保险起见多循环了9个数。

AC代码:

#include <stdio.h>
#include <stdlib.h>

int main()
{
int t;
int b,n,m,su,i,j;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
m=0;
for (i=n-1;i>=n-54;i--)
{
su=0;
b=i;
while(b)
{
su+=b%10;
b/=10;
}
if (i+su==n)
m=i;
}
printf("%d\n",m);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: