题目描述
小蓝要为一条街的住户制作门牌号。
这条街一共有2020 位住户,门牌号从1 到2020 编号。
小蓝制作门牌的方法是先制作0 到9 这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌1017 需要依次粘贴字符1、0、1、7,即需要1 个字符0,2 个字符1,1 个字符7。
请问要制作所有的1 到2020 号门牌,总共需要多少个字符2?
输出格式
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只输出这个整数,输出多余的内容将无法得分。
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int ans;
void fun(int i)
{
while(i)
{
if(i % 10 == 2)ans++;
i /= 10;
}
}
int main()
{
for(int i = 1; i <= 2020; i++)
{
fun(i);
}
cout << ans;
return 0;
}
本篇博客介绍了一种算法,用于计算从1到2020所有门牌号中字符2出现的总次数。通过遍历每个数字并检查每一位是否为2来实现计数。
654

被折叠的 条评论
为什么被折叠?



