当n是30的时候,除了10,20,21,30是不满足条件的,其他的都满足条件:
#include <bits/stdc++.h>
using namespace std;
vector<int>v;
int cnt;
int main() {
int n;
cin >> n;
for (int j = 1; j <= n; j++) {
int flag = 1;
int n = j;
while (n) {
int temp1 = n % 10;
n /= 10;
int temp2 = n % 10;
if (temp1 < temp2) {
flag = 0;
break;
}
}
if (flag == 1)
cnt++;
}
cout << cnt << endl;
return 0;
}
如果是这样写会有很多重复的
#include <bits/stdc++.h>
using namespace std;
vector<int>v;
int cnt;
int flag;
int main() {
int n;
cin >> n;
for (int i = 1; i <= n; i++) {
flag = 0;
int t = i;
while (t) {
int t1 = t % 10;
t /= 10;
int t2 = t % 10;
if (t1 >= t2) {
cout << t1 << " " << t2 << endl;
flag = 1;
}
}
if (flag == 1)
cnt++;
}
cout << cnt << endl;
return 0;
}