강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

minhahas님의 프로필 이미지
minhahas

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

1-O 부연설명

1-O 질문있습니다.

해결된 질문

작성

·

83

0

http://boj.kr/4162dcc1379245079c7059e608127f9d

 

제출했는데 출력 초과가 나오는 이유를 모르겠습니다..

답변 1

0

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 minhahas님 ㅎㅎ

MSVC 컴파일러에서는 %I64d가 가능하지만, gcc/clang 등 표준 C 컴파일러에서는 주로 long long에 %lld를 사용하기 때문에 %lld 방식을 사용해주셔야 합니다.

#include <bits/stdc++.h> 

int main() {
    int n;

    while (scanf("%d", &n) != EOF) {
        long long cnt = 1, ret = 1;

        while (true) {
            if (cnt % n == 0) {
                printf("%lld\n", ret);  // %I64d 대신 %lld 사용
                break;
            } else {
                cnt = (cnt * 10 + 1) % n;
                ret++;
            }
        }
    }
    return 0;
}

이렇게 해보시겠어요?

 


또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.

minhahas님의 프로필 이미지
minhahas

작성한 질문수

질문하기