小蓝要为一条街的住户制作门牌号。
这条街一共有 2020位住户,门牌号从 1到 2020号。
小蓝制作门牌的方法是先制作 0 到 9 这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌 1017 需要依次粘贴字符 1、0、1、7,即需要 1 个字符 0,2个字符 1,1 个字符 7。
请问要制作所有的 1到 2020号门牌,总共需要多少个字符 2?
方法一:分别计算个位,十位,百位,千位,看是否有2,有则加1
#include <iostream>
using namespace std;
int main()
{
int num=0;
for(int i=1;i<=2020;i++)
{
if(i%10==2) num++;
if(i/10%10==2) num++;
if(i/100%10==2) num++;
if(i/1000%10==2) num++;
}
cout<<num;
return 0;
}
方法2:输出1-2020中的所有数,复制到word或者codeblocks,在查找2即可(Ctrl+F)
#include<iostream>
using namespace std;
int main()
{
for(int i=1;i<=2020;i++)
cout<<i;
return 0;
}