본문 바로가기
C C++/C C++ 유용한 알고리즘 기법

[C/C++] 정수 자릿수 세기

by Go! Jake 2022. 7. 16.

정수 자릿수 세는 방법을 알아보도록 하겠음. C/C++에서 딱히 함수로 자릿수를 세는 함수는 없는 것 같고, 기본 for문이나 while문을 통해 함수로 구현해야 함. 여러 방법이 있지만 아래 방법이 제일 간단한 것 같음.

정수 자릿수 세기

#include <iostream>
 
int main()
{
    int num;
    int count = 0;
    scanf("%d", &num);
    while(num>0)
    {
        num = num/10;
        count++;
    }
    printf("%d", count);
    return 0;
}

- num으로 10씩 나눠서 다시 덮어 씀. 자릿수 낮추는 것임.

- count (자릿수 세는 변수)가 1씩 올라감.

- 마지막 자릿수에서 10으로 나누면 num이 0이 되는 것을 이용하는 것임. 예를 들어, 3/10은 0이라는 값이 나옴.

 

예를 들어 123을 입력하면 count 변수가 3이 나오는 것을 알 수 있음.

그리고 while문 조건은 num>0으로 달았는 데, num>0로 하든 num!=0으로 하든 상관 없음.

댓글