알고리즘/BOJ

백준 1748번: 수 이어 쓰기 1 (C++)

대 혁 2020. 4. 20. 22:48

[문제 링크]

 

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

내일도 열심히!