数学的な説明はしませんが組み合わせは漸近式で求めることができます漸近式は単純な計算を繰り返すため再帰を作る問題でよく使われます。
#include<stdio.h>
main(){
long combi(int ,int);
int n,r;
printf("Input nCr n,r : ");
scanf("%d %d",&n,&r);
printf("%dC%d = %d",n,r,combi(n,r));
}
long combi(int n, int r){
if(r == 0 || r == n) return 1;
else return (n - r + 1) / r * combi(n,r-1);
}
#include<stdio.h>
main(){
long combi(int ,int);
int n,r;
printf("Input nCr n,r : ");
scanf("%d %d",&n,&r);
printf("%dC%d = %d",n,r,combi(n,r));
}
long combi(int n, int r){
if(r == 0 || r == n) return 1;
else return (n - r + 1) / r * combi(n,r-1);
}