#include <iostream> using namespace std; int res = 0; int a[10];//下标表示数字 ,存储表示用掉的卡片数 //取出数每位上的数字 void check (int n) { int num = n; int place = 0; while(num > 0) { place = num % 10;// 个位 a[place] ++ ; if (a[place] > 2021) { res = n - 1; break; } num = num / 10;// 如此处理后的下一个数字 进行对10取模就是原来数字10位上的数 } } int main() { for(int i = 1; ; i ++ ) { check(i); if (res) break; } cout << res; return 0; }
结果:3181