題目
小藍要為一條街的住戶制作門牌號。
這條街一共有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 n;//全局變量的初始值就是0
int main()
{for(int i = 1;i <= 2020;i++){int num = i;while(num){//遍歷這個數的每一位 int digit = num%10;if(digit == 2) n++;num = num/10;}}cout<<n;return 0;
}