给定一个数字等于N,你需要找到最小的数字T,满足:T的每一位上的数字之和等于N。
显然,位数越小越好。于是从个位开始用 9 补位。递归写法比较简洁。
#include <bits/stdc++.h>
using namespace std;
int n;
void out(int x) {
if (x <= 9) {//最高位
printf("%d", x);
return;
}
out(x - 9);
printf("9");
}
int main() {
scanf("%d", &n);
out(n);
return 0;
}