현재 (s+f)Cs 즉 (s+f)!/s!f! 의 약수중 m보다작은 것들중 가장큰 수를 찾고 싶습니다 생각한방법은 m-1 부터 하나씩 내려가면서 그 수가 저걸 나누는지 보는법인데요 s f 가 크면 각각 10억씩되기때문에 어떤수n이 저 수를 나누는지 아닌지를 확인할 수학적인 요령이있을까요?
생각한건 n을 소인수분해해서 각각 소수가 저 수에 들어있는지 보는겁니다 예를 들어 n = 12 = 2x2x3 이 6!/4!2! 를 나누는지 보고싶다면 2가 6!에 6//2 + 6//4 + 6//8 + ... = 4 개들어있고 (//는 나눠서 몫만취하는거라고ㅏ묘ㅣ다) 4!에 4//2 + 4//4 + 4//8 + ... = 3개들어있고 2!에 2//2 + 2//4 + 2//8 +... = 1 개들어있으므로 6!/4!2! 에는 2 가 4-3-1=0 개 들어있네요 따라서 12는 이수를 나누지 못합니다 2가 적어도 2개들어있어야 하기때문입니다
위와같은방법이 제가생각한 그나마빠른방법인데요 소인수분해 자체에 시간적인 비용이 많이 투입되네요