本文共 666 字,大约阅读时间需要 2 分钟。
标签:水题
/* 题意:对每一个n,找x。要求n == x + sum(x各位数字的和)。 若存在x,输出所有x;否则,输出0。(1 <= n <= 10^9) 思路:由1 <= n <= 10^9 可知,sum(x)最多为81。枚举n - 81至n判断即可。*/#includeint ans[1000005];int sum(int n) //求sum(x){ int ans = 0; while(n) { ans += n % 10; n /= 10; } return ans;}int main(){ int n; while(scanf("%d", &n) != EOF) { int k = 0; for(int i = n - 9 * 9; i <= n; i++) { if(i < 1) continue; // else if(n == sum(i) + i) ans[k++] = i; } printf("%d\n", k); if(k) for(int i = 0; i < k; i++) printf("%d\n", ans[i]); } return 0;}
转载地址:http://bikxi.baihongyu.com/