>小蓝制作门牌<
>小蓝制作门牌<
小蓝要为一条街的住户制作门牌号。
这条街一共有
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);
}
}
运行结果截图如下: