이 프로그램에서는 사용자가 입력한 정수가 몇 자리 숫자인지, 즉 자릿수를 구하는 방법을 알아봅니다.
예시
입력값: 123 → 출력: 3
입력값: 1987 → 출력: 4
알고리즘
1단계: 사용자로부터 정수 값을 입력받습니다.
2단계: 입력받은 수를 10으로 나누고, 그 몫을 정수(int) 타입으로 변환합니다.
3단계: 몫이 0이 아니라면 자릿수 카운트를 1 증가시킵니다.
4단계: 몫이 0이 되면 카운트를 종료합니다.
5단계: 프로그램을 종료합니다.
예제 코드
x = int(input("User Input: "))
count_of_digits = 0
while x > 0:
x = int(x / 10)
count_of_digits += 1
print("Number of Digits: ", count_of_digits)실행 결과
User Input: 123 Number of Digits: 3 User Input: 1987 Number of Digits: 4
동작 원리 설명
어떤 수를 10으로 나눈 뒤 결과를 int 타입으로 변환하면, 일의 자리 숫자가 잘려나가게 됩니다. 예를 들어 1987을 10으로 나누고 정수화하면 198이 되고, 다시 나누면 19, 그다음에는 1, 마지막으로 0이 됩니다.
따라서 이 과정을 반복하면서 몫이 0이 될 때까지 나눈 횟수를 세면, 그 횟수가 곧 해당 정수의 자릿수가 됩니다. 몫이 0이 되는 순간 while 루프가 종료되고, 누적된 카운트 값이 최종 결과로 출력됩니다.