BOJ | 1748 수 이어 쓰기 1

133210·2021년 8월 6일
0

알고리즘 스터디

목록 보기
2/16
post-thumbnail

BOJ 1748

| Problem

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

1234567891011121314151617181920212223...

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


1의 자리가 있는 수: N
10의 자리가 있는 수: N-9
100의 자리가 있는 수: N-99
결론: (N-1*자리수+1)

for (int i=1; i<=n; i*=10)
	sum = n-i+1;

| Code

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;

int main() {
	int n;
	int sum = 0;

	scanf("%d", &n);
	for (int i = 1; i <= n; i*=10)
		sum += n - i + 1;

	printf("%d", sum);
}

| Result

0개의 댓글