我们定义一种特殊的数为降序数。这个数满足以下条件:
它的每一位数字从左到右都是严格递减的。
例如,321,96410,1 都是降序数,但 123,2109,86411 不是。
给定一个正整数 n,请你求出第 n 小的降序数 (第 1 小的降序数是 1)。
输入格式
输入为一个正整数 n。
输出格式
输出为第 n 小的降序数。
代码写了,但是错惹
#include<bits/stdc++.h>
using namespace std;
string n,a;
int sum;
bool QAQ(const string& num) {
for (long long i=1;i<num.size();i++) {
if (num[i]>=num[i-1]) {
return false;
}
}
return true;
}
int main(){
cin>>n;
for( i=1;i<=100000;i++){
a=to_string(i);
if(QAQ(a)==true){
sum++;
}
if(sum==n){
cout<<i<<endl;
return 0;
}
}
return 0;
}