CF919B Perfect Number 题解
作者:互联网
Content
给定一个数字 \(k\),求出第 \(k\) 小的各数位和为 \(10\) 的数。
数据范围:\(1\leqslant k\leqslant 10000\)。
Solution
这题为什么不可以打表解决呢?我们可以直接枚举、判断,获得所有第 \(1\sim10000\) 个各数位和为 \(10\) 的数,然后就可以直接输出答案了。
Code
int k, f[10007], cur;
int main() {
while(f[0] < 10000) {
int sum = 0, p = cur;
while(p) {
sum += p % 10;
p /= 10;
}
if(sum == 10) f[++f[0]] = cur;
cur++;
}
getint(k);
writeint(f[k]);
return 0;
}
标签:Perfect,10,10000,cur,int,题解,sum,Number,while 来源: https://www.cnblogs.com/Eason-AC/p/15716791.html