问题
小蓝要为一条街的住户制作门牌号。
这条街一共有 2020 位住户,门牌号从 11 到 20202020 编号。
小蓝制作门牌的方法是先制作 0 到 9 这几个数字字符,
最后根据需要将字符粘贴到门牌上,例如门牌 1017 需要依次粘贴字符 1、0、1、7即需要 1个字符 0,2 个字符 1,1 个字符 7。
请问要制作所有的 1到 2020号门牌,总共需要多少个字符 2?
思路
非常简单,就是直接搜索,看有几个2就可以了
代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
int ans=0;
for(int i=1;i<=2020;i++){
string s=to_string(i);//将n变为字符串
for(int j=0;j<s.size();j++){
if(s[j]=='2')ans++;
}
}
cout<<ans;
return 0;
}