小蓝要为一条街的住户制作门牌号。这条街一共有2021位住户,门牌号从1到2021编号。小蓝制作门牌的方法是先制作0到9这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌1017需要依次粘贴字符1、0、1、7,即需要1个字符0,2个字符1,1个字符7。请问要制作所有的1到2021号门牌,总共需要多少个字符2?
#include <stdio.h>
main()
{
int i, m, count = 0;
for (i = 1; i <= 2021; i++)
{
m = i;
while (m)
{
if (m % 10 == 2)
count++;
m /= 10;
}
}
printf("%d\n", count);
}