티스토리 뷰

알고리즘/C++

숫자의 총 개수 C++

지휘리릭 2020. 2. 19. 18:08

1부터 입력한 num까지 총 숫자의 개수를 카운팅한다.

15를 입력한 경우, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, 1, 5 으로 총 21개의 숫자가 쓰였다.

1 ~ num 까지의 숫자 i의 자릿수만큼 sum에 더해주면 된다.

자릿수를 구하는 함수 getDigit으로 자릿수를 리턴받아서 sum에 더한다.

#include<stdio.h>

int getDigit(int num) {
	int cnt = 0;
	while (num > 0) {
		num = num / 10;
		cnt++;
	}
	return cnt;
}
int main() {
	int num, sum = 0;
	scanf("%d", &num);
	for (int i = 1; i <= num; i++) {
		sum += getDigit(i);
	}
	printf("%d", sum);
}
댓글