- このトピックは空です。
2件の返信スレッドを表示中
- 投稿者投稿
nobody
ゲストifは繰り返し処理をしないため、
戻り値は、f(527, 248)と考えたのですが、
なぜy=0になるまで繰り返すのでしょうか。繰り返し処理するのは、whileかdoと認識しています。
教えていただけますと幸いです。
nobody
ゲスト書き方は違いますが、この問題は p112に書いてある「再帰的」なアルゴリズムです。
再帰的なアルゴリズムは、繰り返し処理になることがよくあります。f(x,y)は関数ですよね。
「f(775,527)の値は幾らか」というのは、「関数f(x,y)に、x=775、y=527を代入した値は幾らか」と聞かれているということです。
それに対して、答えが「f(527,248)です」だと、「関数f(x,y)に、x=527、y=248を代入した値です」と答えているということになります。
これでは、答えになっていないというのがわかるでしょうか?そこで、もとの関数に戻って、f(527,248)を計算します。すると、f(248,31)になりますが、「関数f(x,y)に、x=248、y=31を代入した値です」というのも答えになりません。
結局、y=0となりf(x,y)の形がなくなるところまで繰り返さないと、答えといえる形になりません。nobody
ゲストご返答者様、解説いただきありがとうございます。なんとなくの理解で進めようとしていたので、解説してもらいスッキリしました。
4月から入社しバタバタしている関係で、お礼のご連絡が遅くなり申し訳ございません。
ありがとうございました。
- 投稿者投稿
2件の返信スレッドを表示中

