정수 자릿수 세는 방법을 알아보도록 하겠음. 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으로 하든 상관 없음.
'C C++ > C C++ 유용한 알고리즘 기법' 카테고리의 다른 글
[C/C++] 정수 자릿수의 합 구하기 (0) | 2022.07.17 |
---|---|
[C/C++] 거듭제곱 함수 만들기 (0) | 2022.07.16 |
[C/C++] 소문자-대문자 변환, 대문자-소문자 변환 (0) | 2022.07.10 |
[C/C++] 입력 받은 숫자 특정 자릿수 접근하기 (0) | 2022.07.09 |
[C/C++] 최솟값 최댓값 찾기 (0) | 2022.07.09 |
댓글