この関数への再帰呼び出しを計算するにはどうすればよいですか?また、それに対する正しい答えは何ですか????
int func(x,y)
{
if (x % y == 0) return y;
x = x % y;
return func(y,x);
}
ここで本当に混乱しているための式、または説明または一般的な表現が必要ですか?????
この関数への再帰呼び出しを計算するにはどうすればよいですか?また、それに対する正しい答えは何ですか????
int func(x,y)
{
if (x % y == 0) return y;
x = x % y;
return func(y,x);
}
ここで本当に混乱しているための式、または説明または一般的な表現が必要ですか?????
グローバル変数を使用するのは簡単な解決策です。
int i;
main()
{
i=0; //if you want to avoid main call just start with i=-1
//if you are using loop and then calling function in loop ,
//make i value zero or -1 to know how many recursive calls are made to particular call.
func(x,y);
//now i consists number of recursive calls made.
}
int func(int x,int y)
{
i++;
if (x % y == 0) return m;
x = x % y;
return func(y,x);
}
電話の回数ってどうやってわかるの?
さて、2つの方法があります。
コードの計測: 関数の先頭までカウントする変数を追加し、関数が完了したら、カウントを出力します。
自分でコードをたどる: コンピューターのふりをして、各ステップを計算し、決定パスに従います。さまざまな入力に対してこれを行い、どのような結果が得られるかを確認してください。必要なステップ数を数えます。どこに戻るかを忘れずに考慮してください。再帰関数はそれ自体に戻ります。
正しい答えを見つける方法は?
上記と同様。