고르고 나누기

시간 제한1초메모리 제한128 MB

요약
각 줄마다 이항계수 C(p,q)를 C(r,s)로 나눈 값을 소수점 다섯 자리까지 반올림해 출력한다.
난이도

보통10점 중 6점

유형
수학, 정수론, 구현
정답자
아직 제출이 없습니다

문제

이항계수 C(m,n)C(m, n)은 다음과 같이 정의된다.

C(m,n)=m!n! (m−n)!C(m, n) = \frac{m!}{n!\,(m-n)!}

네 개의 자연수 pp, qq, rr, ss가 주어질 때, C(p,q)C(p, q)를 C(r,s)C(r, s)로 나눈 값을 구하여라.

입력

입력은 여러 줄로 이루어진다. 각 줄에는 네 개의 음이 아닌 정수 pp, qq, rr, ss가 이 순서대로 하나의 공백으로 구분되어 주어진다. 모든 정수는 10,00010{,}000보다 작으며, p≥qp \ge q이고 r≥sr \ge s임이 보장된다. 입력은 파일의 끝까지 계속된다.

출력

각 입력 줄마다 C(p,q)/C(r,s)C(p, q) / C(r, s)의 값을 소수점 아래 다섯째 자리까지 반올림하여 한 줄에 하나씩 출력한다. 결과는 100,000,000100{,}000{,}000을 넘지 않는다고 가정해도 된다.

예제2

  1. 예제 1

    입력
    10 5 14 9
    93 45 84 59
    145 95 143 92
    995 487 996 488
    2000 1000 1999 999
    9998 4999 9996 4998
    
    예상 출력
    0.12587
    505606.46055
    1.28223
    0.48996
    2.00000
    3.99960
    
  2. 예제 2

    입력
    4 2 4 2
    5 0 5 0
    10 10 10 10
    
    예상 출력
    1.00000
    1.00000
    1.00000