문제
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
'백준 알고리즘' 카테고리의 다른 글
<백준 알고리즘> 2745번: 진법 전환 (0) | 2020.11.24 |
---|---|
<백준 알고리즘> 10610번: 30 (0) | 2020.11.23 |
<백준 알고리즘> 2484번: 주사위 네개 (0) | 2020.11.23 |
<백준 알고리즘> 6603번: 로또 (0) | 2020.11.23 |
<백준 알고리즘> 2592번: 대표값 (0) | 2020.11.22 |