Coding/백준
1748번 수 이어 쓰기 1
labote
2020. 7. 12. 17:24
브루트 포스 기본 문제.
Ex) 1200
1~9 -> 9*1
10~99 -> 90*2
100~999 -> 900*3
......
...
..
1000~1200 -> (1200-1000+1)*4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
#include <iostream>
using namespace std;
string N;
long answer;
int main(){
cin >> N;
long size = N.size()-1;
long k=1;
long num=stoi(N);
for(int i=1;i<=size;i++){
k*=10;
}
answer+=(num-k+1)*(size+1);
while(size){
int a=1;
int b=1;
for(int i=1;i<=size;i++){
a*=10;
}
for(int i=1;i<=size-1;i++){
b*=10;
}
answer+=(a-b)*size;
size--;
}
cout << answer << endl;
}
|
cs |