这题的主要思路就是找出连续的数值,很简单的题 答案是3181
首先我们用循环给他们都赋值
//赋值
for(int i = 0 ; i <= 9 ; i ++){
kp[i] = 2021;//每种卡片2021张
}
第二步判断是否是从1到x的连续的数
public static int def(int kp[]){
int i;
for(i = 1 ; i < 20210 ; i ++){
int t = i;
while(t > 0 ){
kp[t%10]--;
//只要这玩意断片就给他结束
if(kp[t%10] <= 0 ){
return i;
}
t /= 10;
}
}
return 0;
}
应该都看懂了,全部代码附上
/**
* @ProjectName: 自己写的Java学习教程
* @Package: 蓝桥杯18
* @ClassName: 卡片
* @Author: Wuwei
* @Description:
* @Date: 2021/4/19 8:10
* @Version: 1.0
*/
public class Main {
public static void main(String[] args) {
int kp[] = new int[10];
//赋值
for(int i = 0 ; i <= 9 ; i ++){
kp[i] = 2021;//每种卡片2021张
}
System.out.println(def(kp));
}
public static int def(int kp[]){
int i;
for(i = 1 ; i < 20210 ; i ++){
int t = i;
while(t > 0 ){
kp[t%10]--;
//只要这玩意断片就给他结束
if(kp[t%10] <= 0 ){
return i;
}
t /= 10;
}
}
return 0;
}
}