>小蓝制作门牌<
小蓝要为一条街的住户制作门牌号。
这条街一共有 2020
位住户,门牌号从 1
到 2020
编号。
小蓝制作门牌的方法是先制作 0
到 9
这几个数字字符,最后根据需要将字
符粘贴到门牌上,例如门牌 1017
需要依次粘贴字符 1
、 0
、 1
、 7
,即需要 1
个
字符 0
, 2
个字符 1
, 1
个字符 7
。
请问要制作所有的 1
到 4040
号门牌,总共需要多少个字符 2?
说明:
1.见上详述
一、解题思路
1、解法一( Java )
解法思路: 1
到 4040
循环,然后每次循环保存 i
的值,进入内层循环,取模 10
余 2
说明最后一位存在 2
,存在即进行sum++,当取模 10
不为 2
时,说明最后一位不是 2
,此时除 10
,去掉最后一位,继续看倒数第二位,最后一位除掉 10
后会为 0
,此时不满足while 执行条件会跳出循环,接着执行外层循环 ,以此类推。
代码如下:
public class StringNum {
public static void main(String[] args){
int sum =0;
for(int i = 1;i<=4040;i++) {
int temp = i;
while(temp>0) {
if(temp%10 == 2) {
sum++;
}
temp/=10;
}
}
System.out.println(sum);
}
}
运行结果截图如下: