站外题,玄2关鸭~
  • 板块学术版
  • 楼主__^浅笑.__
  • 当前回复17
  • 已保存回复17
  • 发布时间2024/6/29 20:29
  • 上次更新2024/6/29 22:50:56
查看原帖
站外题,玄2关鸭~
1342002
__^浅笑.__楼主2024/6/29 20:29
我们定义一种特殊的数为降序数。这个数满足以下条件:

它的每一位数字从左到右都是严格递减的。
例如,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;
}
2024/6/29 20:29
加载中...