Baekjoon/Silver

[백준 C/C++] 11170번 - 0의 개수

Cewi 2022. 1. 27. 10:55
반응형
문제

N부터 M까지의 수들을 종이에 적었을 때 종이에 적힌 0들을 세는 프로그램을 작성하라.

예를 들어, N, M이 각각 0, 10일 때 0을 세면 0에 하나, 10에 하나가 있으므로 답은 2이다.

입출력

첫 번째 줄에 테스트 케이스의 수 T가 주어진다.

각 줄에는 N과 M이 주어진다.

  • 1 ≤ T ≤ 20
  • 0 ≤ N ≤ M ≤ 1,000,000

각각의 테스트 케이스마다 N부터 M까지의 0의 개수를 출력한다.

풀이

10으로 계속 나눠가며 0이 있는지 판단하면 된다.

#include <cstdio>

using namespace std;

int main() {
    int t;
    scanf("%d", &t);
    for(int tc=0;tc<t;tc++)
    {
        int n,m,count=0;
        scanf("%d %d", &n, &m);

        for(int i=n;i<=m;i++)
        {
            int a=i;
            if(a==0) {
                count++;
                continue;
            }
            while(a>0)
            {
                if(a%10==0)
                {
                    count++;
                }
                a/=10;
            }
        }
        printf("%d\n", count);
    }
    
}

 

반응형