https://www.acmicpc.net/problem/1748
1748번: 수 이어 쓰기 1
첫째 줄에 N(1 ≤ N ≤ 100,000,000)이 주어진다.
www.acmicpc.net
솔루션
long long 으로 선언을 하고,
한 자리부터 1씩 더하는데, 10의 승수가 될 때 마다 수를 1씩 더 늘려주어 더해 나간다.
코드
#define ll long long int
#include <iostream>
using namespace std;
ll sum;
ll N;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
cin >> N;
ll ref = 10;
ll cnt = 1;
for (int i = 1; i <= N; i++) {
if (i >= ref) {
ref *= 10;
cnt++;
}
sum += cnt;
}
cout << sum << "\n";
}
'백준' 카테고리의 다른 글
C++[백준]15661번 링크와 스타트 (2) | 2023.01.31 |
---|---|
C++[백준]15649번 N과 M (1) (0) | 2023.01.31 |
C++[백준]3085번 사탕 게임 (0) | 2023.01.31 |
C++[백준]17103번 골드바흐 파티션 (0) | 2023.01.26 |
C++[백준]12026번 BOJ 거리 (0) | 2023.01.26 |