分析:我们用一个数组来记录卡牌,我们每使用一张卡牌,就减一张,当卡牌数为-1的时候,说明不够用了,此时我们就打印上一个组合的数字。
#include <stdio.h>
int main(){
int num[10],i,m,n,j;
for(i=0;i<10;i++){
num[i]=2021;//每一张卡牌都要2021张
}
for(i=1; ;i++){
j=i;
while(j){
num[j%10]--;//用一次减一次
if(num[j%10]==-1){//当卡牌数为-1的时候,说明不够用了
printf("%d",i-1);//打印上一个数字
return 0;
}
j/=10;
}
}
return 0;
}