teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

内容の訂正

2019/11/29 11:19

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,7 @@
1
1
  #組み合わせの関数について
2
- 組み合わせ関数の中身がわかりません
2
+ nCrの組み合わせを求める関数の出力です
3
3
  エラーは出ませんが答えが間違って出てきます。
4
+ n=6,r=2とn=6,r=4の答えは同じになるはずですが、15と6になります。
4
5
  #
5
6
  #include<stdio.h>
6
7
  int combination(int n,int r){

1

全文載せました

2019/11/29 11:19

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -2,11 +2,24 @@
2
2
  組み合わせの関数の中身がわかりません。
3
3
  エラーは出ませんが答えが間違って出てきます。
4
4
  #
5
+ #include<stdio.h>
5
- {
6
+ int combination(int n,int r){
6
7
  int seki=1;
7
8
  for(;r>0;r--){
8
9
  seki*=n/r;
9
10
  n--;
10
11
  }
11
12
  return seki;
13
+ }
14
+ int main(void){
15
+ int n,r;
16
+ printf("組み合わせnCrを求めます。n>=rとなる自然数n,rを入力してください。\n");
17
+ do{
18
+ printf("n="); scanf("%d",&n);
19
+ printf("r="); scanf("%d",&r);
20
+ if(n<r)
21
+ printf("\aもう一度n,rを入力してください。\n");
22
+ }while(n<r);
23
+ printf("%d C %d=%dです。\n",n,r,combination(n,r));
24
+ return(0);
12
25
  }