フィボナッチ数を計算する関数
long int f(int n)
を再帰呼出しで関数定義した場合に、与えられた非負整数 n を引数とする呼出し f(n) に対して関数 f が呼び出される回数を数え、計算されたフィボナッチ数とともにその回数を標準出力に書き出すプログラムを作りたい。
プログラムの仕様はつぎの通りです。
非負整数 n はコマンドライン引数に与えられる。
出力は、つぎの形式として1行として書き出すこと。
u [c times]
u は n 番目のフィボナッチ数の値、 c はその計算での関数呼出しの回数
u と [ の間、c と times の間には、それぞれ空白1文字をおくこと。
■実行例
コマンドライン入力
0
標準出力
0 [1 times]
コマンドライン入力
1
標準出力
1 [1 times]
コマンドライン入力
10
標準出力
55 [177 times]
C
1#include <stdio.h> 2#include <stdlib.h> 3 4long int f(int n); 5int main(int argc, char *argv[]){ 6 ・・・ 7 return 0; 8} 9long int f(int n){ 10 if( n<=1 ) return n; 11 return f(n-1)+f(n-2); 12}
回答2件
あなたの回答
tips
プレビュー