#組み合わせの関数について
nCrの組み合わせを求める関数の出力です。
エラーは出ませんが答えが間違って出てきます。
n=6,r=2とn=6,r=4の答えは同じになるはずですが、15と6になります。
#include<stdio.h>
int combination(int n,int r){
int seki=1;
for(;r>0;r--){
seki*=n/r;
n--;
}
return seki;
}
int main(void){
int n,r;
printf("組み合わせnCrを求めます。n>=rとなる自然数n,rを入力してください。\n");
do{
printf("n="); scanf("%d",&n);
printf("r="); scanf("%d",&r);
if(n<r)
printf("\aもう一度n,rを入力してください。\n");
}while(n<r);
printf("%d C %d=%dです。\n",n,r,combination(n,r));
return(0);
}