문제

1부터 N까지의 수를 이어서 쓰면 다음과 같이 새로운 하나의 수를 얻을 수 있다.

1234567891011121314151617181920212223...

이렇게 만들어진 새로운 수는 몇 자리 수일까? 이 수의 자릿수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 N(1≤N≤100,000,000)이 주어진다.

출력

첫째 줄에 새로운 수의 자릿수를 출력한다.

예제 입력 1

120

예제 출력 1

252

더보기

Solution

#include<stdio.h>

int main(void)
{
	int N, count=0;

	scanf("%d", &N);

	for(int i=1;i<=N;i++)
		if(i<10)
			count++;
		else if(i<100)
			count+=2;
		else if(i<1000)
			count+=3;
		else if(i<10000)
			count+=4;
		else if(i<100000)
			count+=5;
		else if(i<1000000)
			count+=6;
		else if(i<10000000)
			count+=7;
		else if(i<100000000)
			count+=8;
		else
			count+=9;

	printf("%d\n", count);
	return 0;
}
728x90

+ Recent posts