思路:
先拼从1-9,拼完之后,剩下2020张1-9的卡片,剩下2021张0 的卡片
两种解法思路:
1、遍历循环、暴力解法
2、找特殊规律,不难发现,最先花完的是1号卡片,所以只要锁死1号卡片就可以了
方法1:
int A0=2021;
int A1=2021;
int A2=2021;
int A3=2021;
int A4=2021;
int A5=2021;
int A6=2021;
int A7=2021;
int A8=2021;
int A9=2021;
int jg=0;
String a = "";
for(int i=1;i<=20210;i++) {
if(A0==0) {
break;
}
else if(A1==0) {
break;
}
else if(A2==0) {
break;
}
else if(A3==0) {
break;
}
else if(A4==0) {
break;
}
else if(A5==0) {
break;
}
else if(A6==0) {
break;
}
else if(A7==0) {
break;
}
else if(A8==0) {
break;
}
else if(A9==0) {
break;
}
else {
a=i+"";
}
for(int k=0;k<a.length();k++) {
if(a.charAt(k)=='0') {
A0-=1;
}
else if(a.charAt(k)=='1') {
A1-=1;
}
else if(a.charAt(k)=='2') {
A2-=1;
}
else if(a.charAt(k)=='3') {
A3-=1;
}
else if(a.charAt(k)=='4') {
A4-=1;
}
else if(a.charAt(k)=='5') {
A5-=1;
}
else if(a.charAt(k)=='6') {
A6-=1;
}
else if(a.charAt(k)=='7') {
A7-=1;
}
else if(a.charAt(k)=='8') {
A8-=1;
}
else {
A9-=1;
}
jg=i;
}
}
System.out.println(jg);
方法2:
int count=0;
for (int i = 1; i < 20210; i++) {
String str=i+"";
for (int j = 0; j < str.length(); j++) {
if(str.charAt(j)=='1')
{
count++;
}
}
if(count==2021)
{
System.out.println(str);
break;
}
}