问题概述:

小蓝有很多数字卡片,每张卡片上都是数字0到9。

小蓝准备用这些卡片来拼一些数,他想从1开始拼出正整数,每拼一个,就保存起来,卡片就不能用来拼其它数了。

小蓝想知道自己能从1拼到多少。例如,当小蓝有30张卡片,其中0到9各3张,则小蓝可以拼出1到10,但是拼11时卡片1已经只有一张了,不够拼出11。

现在小蓝手里有0到9的卡片各2021张,共20210张,请问小蓝可以从1拼到多少?

代码如下:

public class ip {
    public static void main(String[] args) {
        int count=0;
        for (int i = 0; i < 10000; i++) {
            String i1;
            i1 =Integer.toString(i);        //将int型转为字符型
            for (int j = 0; j <i1.length() ; j++) {
                char c = i1.charAt(j);        //将字符串拆分
                if(c=='1')                    //1是最先用完的,所以判断1就行了
                {
                    count++;
                }
            }
            if(count==2021)                    //循环结束条件
            {
                System.out.println(i);
                break;
            }
        }

    }
}

显示结果为3181 

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐