C/C++の宿題を片付け ..
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
29:デフォルトの名無しさん 07/09/22 15:26:13 1] 授業単元: データ構造 [2] 問題文: 階上n!(nは0以上の整数)は、以下のように再帰的に定義されている。 n!=n*(n-1) , 0!=1 この式を参考に、再起呼び出し用いて0以上の整数nを受け取りn!を返す 関数int Factorial(int n)を作り、n!を求めるプログラムを作成せよ。 また、再帰の動作がわかる表示を行い 表示を用いて再帰関数の呼び出される順序を説明せよ。 [3] 環境 [3.1] OS:UNIX [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C言語 [4] 期限: 2007年9月24日 [5] その他の制限:特にないです 再帰の動作を表示させないものは書けるのですが どうしても表示を用いて 再帰関数の呼び出される順序がうまくいきません。 どうがよろしくお願いします。 30:デフォルトの名無しさん 07/09/22 15:54:45 >>29 > 再帰の動作を表示させないものは書けるのですが 見せて 31:デフォルトの名無しさん 07/09/22 16:26:00 >>29 こんな感じか? #include <stdio.h> int indent; int f( int in ) { int i, ret; indent++; for( i = 0; i < indent; i++ ) printf( " " ); printf( "f( %d )\n", in ); if( in == 0 ) ret = 1; else ret = in * f( in - 1 ); for( i = 0; i < indent; i++ ) printf( " " ); printf( "return %d\n", ret ); indent--; return ret; } int main( void ) { int in = 9; indent = 0; printf( "%d! = %d\n", in, f( in ) ); return 0; }
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5284日前に更新/230 KB
担当:undef