실험 2-4-7 조합 수 구하기 (15 점)

이 질문은 공식
C n m = m! (N − m)! N! C _n ^ {m} = \ frac {m!} {(n− m)! n!}Cm=( 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, 방법을 알고 저를 요구하지 않는 요구는 재능이있다

추천

출처blog.csdn.net/weixin_43862765/article/details/114434784