11401번 - 이항 계수 3
안녕하세요. 문제를 접하고 어떻게 해야될지 모르겠던 도중 페르마의 소정리라는걸 알게 되었습니다.
p가 소수고 a가 정수인 경우 ap-1≡ 1 (mod p) (a ≠ 0)가 성립한다고 하더라구요
그래서 문제의 nCk 를 구할때 다음과 같이 식을 유도했습니다.
nCk ≡ (n! / (k!(n-k)!)) ≡ (n! / (k!(n-k)!) * 1) ≡ (n! / (k!(n-k)!) * (k!(n-k)!)p-1) ≡ (n! * (k!(n-k)!)p-2) (mod p) = ((n!%mod) * (k!%mod)p-2 * ((n-k)!%mod)p-2) % mod
그러나 초반 어느정도는 통과하더니 틀렸습니다가 나옵니다.
어떤 부분이 문제인걸까요? 도움 부탁드립니다. 감사합니다.
엌ㅋㅋㅋ 위의 코드는 n이 0일때 factorial이 0을 반환합니다. 해결되었습니다.
댓글을 작성하려면 로그인해야 합니다.
0xdeadbeef 3년 전
안녕하세요. 문제를 접하고 어떻게 해야될지 모르겠던 도중 페르마의 소정리라는걸 알게 되었습니다.
p가 소수고 a가 정수인 경우 ap-1≡ 1 (mod p) (a ≠ 0)가 성립한다고 하더라구요
그래서 문제의 nCk 를 구할때 다음과 같이 식을 유도했습니다.
nCk ≡ (n! / (k!(n-k)!))
≡ (n! / (k!(n-k)!) * 1)
≡ (n! / (k!(n-k)!) * (k!(n-k)!)p-1)
≡ (n! * (k!(n-k)!)p-2) (mod p)
= ((n!%mod) * (k!%mod)p-2 * ((n-k)!%mod)p-2) % mod
그러나 초반 어느정도는 통과하더니 틀렸습니다가 나옵니다.
어떤 부분이 문제인걸까요? 도움 부탁드립니다. 감사합니다.