4811번 - 알약
1부터~18까지는 정답이 잘 나오는데
19부터는 값이 21억이 넘어가는지 표현을 못하네요.
이렇게 큰 수를 처리해본 적이 없어서 어떻게 하면 좋을지 모르겠습니다.
21억이 넘어가는 수 처리하는 방법 좀 부탁드립니다..!
long long의 범위는 대충 9*10^18입니다.
그럼 계산이 되어야한다는 건데 왜 안되나요? 19부터는 수가 너무 커서 입력하면 답이 나오지가 않습니다..
에이... 이건 long long 문제가 아니잖아요. 이 코드가 너무 비효율적이기 때문에(시간복잡도가 커서) 시간내에 제대로 안 나오는거지, long long의 문제가 아닙니다. 실제로 코드에 19 넣고 1분동안 기다리면 정답이 나옵니다. 시간복잡도에 대해서 공부하시면 좋을 것 같습니다.
아 참고로 int 범위에 못 표현하는 수를 int형 자료형에 넣으면 오버플로우가 나긴 하는데 그래도 출력은 되긴 합니다.
카탈란 수에 대해 공부하세요.
감사합니다!! 더 공부하고 풀어보겠습니다.
댓글을 작성하려면 로그인해야 합니다.
npole0103 3년 전
1부터~18까지는 정답이 잘 나오는데
19부터는 값이 21억이 넘어가는지 표현을 못하네요.
이렇게 큰 수를 처리해본 적이 없어서 어떻게 하면 좋을지 모르겠습니다.
21억이 넘어가는 수 처리하는 방법 좀 부탁드립니다..!