第20题:要制作所有的 1 到 4040 号门牌,总共需要多少个字符2

解题思路:由于是要算字符2,所以可把一个数拆分为个位数、十位数、百位数、千位数,如果这些数字当中有等于2的,那么sum加1.

源代码:

#include
#include
using namespace std;

int main()
{
    int i = 0, sum = 0;
    for (i = 1; i <= 4040; i++)
    {
        if (i % 10 == 2)
            sum++;
        if ((i / 10 % 10) == 2)
            sum++;
        if ((i / 100 % 10) == 2)
            sum++;
        if ((i / 1000 % 10) == 2)
            sum++;
    }
    cout << sum;
    
}

运行结果:

第20题:要制作所有的 1 到 4040 号门牌,总共需要多少个字符2_第1张图片

 

你可能感兴趣的:(算法,c++)