본문 바로가기

백준/수학

백준 4375 - 1

728x90
728x90

https://www.acmicpc.net/problem/4375

 

수 뒤에 계속 1을 붙여나가면서 배수가 성립하는지 확인하면 된다.

 

다만 이 과정에서 오버플로우가 발생할 수 있다. 큰 정수를 구현해서 풀 수도 있겠지만 1을 붙이면서 n으로 나눈 나머지만을 남겨 불필요한 부분을 제거하면 int 자료형을 이용하여 문제를 풀 수 있게 된다.

 

전체 코드

더보기
#include <bits/stdc++.h>

using namespace std;

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);

    int n;
    cin >> n;

    while (!cin.fail())
    {
        int cnt = 1;
        int x = 1;

        while (x)
        {
            x %= n;

            if (!x)
                break;

            x *= 10;
            ++x;
            ++cnt;
        }
        cout << cnt << '\n';
        cin >> n;
    }
}

 

728x90
728x90

'백준 > 수학' 카테고리의 다른 글

백준 10728 - XOR삼형제 1  (0) 2021.07.27
백준 10736 - XOR삼형제 2  (0) 2021.07.27
백준 13172 - Σ  (0) 2021.07.04
백준 11444 - 피보나치 수 6  (0) 2021.06.30
백준 1413 - 박스 안의 열쇠  (0) 2021.01.17