728x90 문제에서 왜 항상 1e9+7로 나눈 나머지를 구하라고 할까?(모듈러 연산) 알고리즘을 풀다가 정답이 너무 클 수도 있으니 1000000007(1e9+7)로 나눈 나머지를 return 하라고 나왔다 왜 굳이 1e9+7를 return 하라는 걸까? C/C++에서 수의 표현은 제한적이다 int(4 bytes) : -2147483648(-2^31) ~ 2147483647(2^31-1) -> 근삿값 : 2e9 long long(8 bytes) : -9.22337204e18(-2^63) ~ 9.22337204e18(2^63) -> 근삿값 : 9e18 21! 만 해도 long long 범위를 벗어남 -> 조합이나 가짓수를 세는 문제에서 쉽게 오버플로우가 난다! 큰 결과를 표현하는 데에는 많은 방법이 있지만, 굳이 변환을..? 문제 출제자는 큰 수를 표현하는 방법을 원하는 게 아니라 답을 도.. 2022. 1. 2. 이전 1 다음 728x90