fork download
  1. #include <stdio.h>
  2.  
  3. // 階乗を求める関数
  4. int kaijo(int n) {
  5. int i, result = 1;
  6. for(i = 1; i <= n; i++) {
  7. result *= i;
  8. }
  9. return result;
  10. }
  11.  
  12. // 組合せを求める関数
  13. int comb(int m, int k) {
  14. return kaijo(m) / (kaijo(k) * kaijo(m - k));
  15. }
  16.  
  17. int main() {
  18. int m, k;
  19. printf("mを入力してください:");
  20. scanf("%d", &m);
  21.  
  22. printf("kを入力してください:");
  23. scanf("%d", &k);
  24.  
  25. printf("%d個の中から%d個を取り出す組合せ数は、%d通りです。\n", m, k, comb(m, k));
  26.  
  27. return 0;
  28. }
  29.  
Success #stdin #stdout 0.01s 5324KB
stdin
5
3
stdout
mを入力してください:kを入力してください:5個の中から3個を取り出す組合せ数は、10通りです。