1748번: 수 이어 쓰기 1

문제:

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

1234567891011121314151617181920212223...

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

입력:

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

풀이:

코드:

#include <iostream>

using namespace std;

int main(){
	int n, i = 1, answer=0;
	//입력
	cin >> n;
	//10의 배수 i가 입력값보다 클때까지 연산 실행
	while(i <= n){
		//각 자리수를 가지고 있는 수 만큼 더한다 ex) 15 = 일의 자리수 15 + 십의 자리수 6
		answer+=n-i+1;
		i*=10;
	}
	//출력
	cout<<answer;
}