npole0103   3년 전

1부터~18까지는 정답이 잘 나오는데

19부터는 값이 21억이 넘어가는지 표현을 못하네요.


이렇게 큰 수를 처리해본 적이 없어서 어떻게 하면 좋을지 모르겠습니다.

21억이 넘어가는 수 처리하는 방법 좀 부탁드립니다..!

leinad2   3년 전

long long의 범위는 대충 9*10^18입니다.

npole0103   3년 전

그럼 계산이 되어야한다는 건데 왜 안되나요? 19부터는 수가 너무 커서 입력하면 답이 나오지가 않습니다..

leinad2   3년 전

에이... 이건 long long 문제가 아니잖아요. 이 코드가 너무 비효율적이기 때문에(시간복잡도가 커서) 시간내에 제대로 안 나오는거지, long long의 문제가 아닙니다. 실제로 코드에 19 넣고 1분동안 기다리면 정답이 나옵니다. 시간복잡도에 대해서 공부하시면 좋을 것 같습니다.

leinad2   3년 전

아 참고로 int 범위에 못 표현하는 수를 int형 자료형에 넣으면 오버플로우가 나긴 하는데 그래도 출력은 되긴 합니다.

herdson   3년 전

카탈란 수에 대해 공부하세요.

npole0103   3년 전

감사합니다!! 더 공부하고 풀어보겠습니다.

댓글을 작성하려면 로그인해야 합니다.