手算题???
第一题
小蓝要为一条街的住户制作门牌号。
这条街一共有 2020位住户,门牌号从 1到 2020编号。
小蓝制作门牌的方法是先制作 0 到 9 这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌 1017 需要依次粘贴字符 1、0、1、7,即需要 1 个字符 0,2 个字符 1,1 个字符 7。
请问要制作所有的 1 到 2020号门牌,总共需要多少个字符 2?
public class Main {
public static void main(String[] args) {
int count = 0;
for(int i = 1 ;i<=2020 ; i++){
int j = i;
while(j > 0){
if(j % 10 == 2){
count ++;
}
j = j / 10;
}
}
System.out.println(count);
}
}
结果624
第二题
小蓝有很多数字卡片,每张卡片上都是数字 0 到 9。 小蓝准备用这些卡片来拼一些数,他想从 1 开始拼出正整数,每拼一个, 就保存起来,卡片就不能用来拼其它数了。 小蓝想知道自己能从 1拼到多少。 例如,当小蓝有 30 张卡片,其中 0 到 9 各 3 张,则小蓝可以拼出 1 到 10, 但是拼 11 时卡