ソースコードの説明.

nCrを求める

n個の中からr個を選ぶ組み合わせの数nCrを求める。

例えば、a、b、cという3個の中から2個選ぶ組み合わせは、ab、ac、bcの3通りある。一般に、n個中からr個を選ぶ組み合わせの数nCrと書き、次の式で定義される。なお、n!はn•(n-1)•(n-2)•••2•1という値。CはCombinationの頭文字からとっている。

ソースコード

源文件

/*
 *------------------------
 *   漸化式(nCrの計算)
 *------------------------
 * Great by liang@Ryukyus
 * Compiler : gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-48)
 * Date : 25/12/2010
 */
   
#include <stdio.h>

   long combi(int, int);

int main(void){

   int n, r,i;
   printf("n=");
   scanf("%d",&i);
   for (n=0; n<=i; n++){
       for(r=0; r<=n; r++){
	   printf("%dC%d=%ld\t",n,r,combi(n,r));
	 }
       printf("\n");
     }
   return 0;
 }

long combi(int n, int r){
   int i;
   long p=1;
   for(i=1; i<=r; i++){
       p=p*(n-i+1)/i;
     }
   return p;
 }

実行結果


n=5
0C0=1
1C0=1  1C1=1
2C0=1  2C1=2  2C2=1
3C0=1  3C1=3  3C2=3  3C3=1
4C0=1  4C1=4  4C2=6  4C3=4  4C4=1
5C0=1  5C1=5  5C2=10 5C3=10 5C4=5  5C5=1
Chapter1 @ 目録 @ HomeWork List @ 昭亮's Homepage