이 질문은 공식
C n m = m! (N − m)! N! C _n ^ {m} = \ frac {m!} {(n− m)! n!}C엔m=( n − m ) ! n !m !
조합 의 m
요소 (m≤n)
수의 n 개의 다른 요소에서 제거 된 계산 .
정의하고 함수를 호출하는 것이 좋습니다 fact(n)
계산을 n!
경우, n
유형이 int
와 함수 타입이다 double
.
입력 형식 :
한 줄에 두 개의 양의 정수를 m和n(m≤n)
공백으로 구분하여 입력합니다.
출력 형식:
" result = 组合数计算结果
" 형식으로 출력 합니다 . 질문은 결과가 double
유형 범위 내에 있음을 보장합니다 .
입력 샘플 :
2 7
샘플 출력 :
result = 21
암호:
# include <stdio.h>
# include <stdlib.h>
double fact(int q) {
int i;
double value = 1;
for (i=1;i<=q;i++) {
value *= i;
}
return value;
}
int main() {
int m,n;
scanf("%d %d",&m,&n);
double result = fact(n) / (fact(m) * fact(n-m));
printf("result = %.0lf",result);
return 0;
}
스크린 샷 제출 :
문제 해결 아이디어 :
여러분의 코드가 제출 된 상황이 다음과 같다면이 질문에 대해 이야기 할 좋은 시간입니다. 여러분의 코드가 다음과 같다
면 계속해서 표시됩니다 m == n/2 测试点2未通过
. 축하 double fact(int n)
합니다. 값을받는 변수 value
의 유형 만 변경하면 됩니다. 업적 double
, 방법을 알고 저를 요구하지 않는 요구는 재능이있다