[문제 링크]

 

1748번: 수 이어 쓰기 1

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

www.acmicpc.net


i = 1부터 N까지 반복할때마다 i의 자릿수를 sum변수에 더해주면 원하는 결과를 얻을 수 있다.


#include <iostream>
#include <cmath>
using namespace std;
 
int main(void)
{
    int num;
    cin >> num;
    int temp = num, digit = 1;
    while ((temp / 10!= 0
        temp /= 10, digit++;
 
    int i=1, sum = 0, digitNum = 1,digitMax = 10;
    while (digit--)
    {
        for ( ; i < digitMax; i++)
        {
            if (i > num)
            {
                cout << sum << endl;
                return 0;
            }
            else
            {
                sum += digitNum;
            }
        }
        digitNum++;
        digitMax *= 10;
    }
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter

알고리즘 200일 프로젝트 - 15day

내일도 열심히!

'알고리즘 > BOJ' 카테고리의 다른 글

백준 15684번: 사다리 조작 (c++)  (0) 2020.04.22
백준 10448: 유레카 이론 (c++)  (0) 2020.04.21
백준 12100번: 2048(Easy) (C++)  (0) 2020.04.19
백준 15683번: 감시 (C++)  (0) 2020.04.18
백준 1065번: 한수  (0) 2020.04.17

+ Recent posts