其他分享
首页 > 其他分享> > CF919B Perfect Number 题解

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