사용자 도구

사이트 도구


ps:problems:boj:14854

이항 계수 6

ps
링크https://www.acmicpc.net/problem/14854
출처BOJ
문제 번호14854
문제명이항 계수 6
레벨다이아몬드 5
분류

수학, 정수론

시간복잡도O(qlogn)
인풋사이즈q<=10^5, n<=10^9
사용한 언어Python
제출기록34040KB / 3824ms
최고기록2872ms
해결날짜2021/02/03

풀이

  • 모듈러스 142857은 제곱인수를 포함하는 합성수이다. 이항 계수 - 모듈러스가 임의의 합성수일 때의 방법을 사용해서 푼다.
  • 142857 = 3^3*11*13*37 에서 법 3^3에 대한 나머지는 n! = n!_p * c(p) 로 고쳐서 풀어야 하지만, 법 11,13,37에 대한 나머지는 n! = n!_p * c(p) 로 풀지 않고 뤼카의 정리로 풀 수도 있다. 둘다 같은 방법으로 처리하면 코드짜기는 쉽지만, 속도는 뤼카의 정리를 썼을때가 300ms 정도 더 빨랐다.

코드

(다이아몬드 이상은 코드 첨부 생략)

토론

댓글을 입력하세요:
G I G D F
 
ps/problems/boj/14854.txt · 마지막으로 수정됨: 2021/02/16 14:14 저자 teferi