プログラミング(関数と再帰)


例題3


/* (例題3)配列の要素に値を読み込んで表示 */

#include <stdio.h>

/*	階乗を求める	*/
int factorial (int n)	/*	factorial	階乗を求める	*/
{
	if (n > 0)
		return (n * factorial(n - 1));
	else
		return (1);
}

int main(void)
{
	int num;
	
	printf("整数を入力:");
	scanf("%d",&num);
	
	printf("その数の階乗は%dである。\n",factorial(num));
	
	return 0;
}			

例題3の出力例
整数を入力:4↵
その数の階乗は24である。



課題3

 例題3を参考に『異なるn個のものから異なるm個のものを選ぶ(このとき必然的に n ≤ m なる非負整数でなければいけないが, このほかには何の制限も課されない)組合せの総数』を計算する関数、
   int combination(int n, int m)
   {/* ……………… */}
 を作成せよ。


出力例(組み合わせ)
n=4↵
m=2↵
C(n、m)=24


トッププログラミング過去のロボット部員情報メール掲示板リンク