山东省建设厅网站多少,求有题目做的学习网站,自己怎么做机构网站,福永三合一网站设计题干#xff1a;
给你一个数字N#xff0c;N的范围是1~1000000#xff0c;求一个最小的正整数M#xff0c;这个数字M的各个位的数字加上它本身之和恰好为N。当然#xff0c;如果没有解#xff0c;输出0。
输入
输入数据由多组数据组成#xff0c;每行由一个数字N组成…题干
给你一个数字NN的范围是1~1000000求一个最小的正整数M这个数字M的各个位的数字加上它本身之和恰好为N。当然如果没有解输出0。
输入
输入数据由多组数据组成每行由一个数字N组成1N1000000。
输出
对于每组数据输出仅一行包含一个整数M。如果对于每个N存在最小的M则输出这个最小值。如果不存在这个最小的M则输出0。
输入样例 1
216
121
2005
输出样例 1
198
0
1979
解题报告 这题枚举的方法比较巧妙因为最大的数字就是1e6-1也就是6*954所以从54开始枚举就可以了
AC代码
#includecstdio
#includequeue
#includecstring
#includecmath
#includemap
#includeiostream
#includealgorithm
#define ll long long
const ll mod 1e97;
using namespace std;
int n;
int main()
{while(~scanf(%d,n)) {int flag 0;for(int i 54; i0; i--) {int res n - i;if(res 0 ) continue;int tmp 0;while(res) {tmp res%10;res/10;}if(tmp i) {printf(%d\n,n-i);flag 1;break;}}if(!flag) printf(0\n);}return 0 ;
}