C1063 - 数字生成器
题目描述
数字是非常神奇的,对于一个正整数N,可以通过将N的各个位上的数字相加后再加上N本身可以得到一个新的数M。
这个时候可以认为是通过N生成了M,那么N可以称为M的一个数字生成器。
比如N位245时,可以生成一个数256(2 + 4 + 5 + 245),所以会称245是256的一个数字生成器。
不足为奇的是,一些数字没有任何生成器,而一些数字则有不止一个生成器。例如,216的数字生成器有198和207
你需要编写一个程序来找到给定整数的最小生成器。
输入格式
第1行,一个正整数T,代表接下来会有T组测试数据
接下来的T行,每行包含一个正整数N
输出格式
输出T行,每行一个正整数,代表对应输入的N的一个最小数字生成器(因为一个数字可能有多个数字生成器,输出最小的那一个),如果对应的N没有任何数字生成器,则输出0
输入输出样例
| 输入样例 | 输出样例 |
|---|---|
| 3 216 121 2005 |
198 0 1979 |
数据范围与提示
50%的数据:$1 \le T \le 100$,$1 \le N \le 100,000$
100%的数据:$1 \le T \le 10,000$,$1 \le N \le 100,000$
测试点数目
共10个测试点,每个测试点10分
时间与内存限制
每个测试点时间:1000ms(1.0s),内存:256MiB
输入输出模式
本OJ支持两种输入输出模式
1. 标准输入输出模式:
直接从标准输入和标准输出读写数据,不需要使用freopen进行文件输入输出重定向
2. 文件输入输出模式(国内信奥赛输入输出模式):
从文件中读写数据,需要使用freopen进行输入输出重定向
本题输入文件名为:C1063.in,输出文件名为:C1063.out