閉じる
午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
HOME»基本情報技術者試験掲示板»再帰関数がうまく使えない
投稿する

再帰関数がうまく使えない [6393]

 魂ぬけるさん(No.1) 
再帰関数を使用した問題がうまく解けません。
この問題は再帰関数を使う問題、この条件まで自身を呼び出すというのはなんとなくわかるのですがそこからどのように進めればいいのかわからなくなってしまいます。

再帰関数について説明されているサイトや動画をみたりしたのですが問題になると解けないので、再帰関数自体の理解が進んでいないのだと思います。

そこで、質問なのですが、皆さんは再帰関数についてどのように勉強されましたか?
活用された書籍やサイト、考え方のコツなどありましたら教えてほしいです。
2026.04.23 15:51
ジャバおさん(No.2) 
まずは再帰関数の最も基本的な形から理解して、徐々に応用問題を解いていきました。
基本形の代表例として、nの階乗を求める関数があります。

int factorial(int n)
{
   if (n <= 1)
    return 1;
   else
    return n * factorial(n-1);
}

ますは上記が理解できますでしょうか。上記の基本形が理解できれば、後は応用ですので
惑わされず基本に則って解いていけば解けるようになります。いかがでしょうか。
2026.04.23 16:27
 魂ぬけるさん(No.3) 
ジャバおさん

返信ありがとうございます。
示していただいた基本形は、例えばですが、
n=3の場合は戻り値が6ということでよいでしょうか?
考え方
3*factorial(2)
             ↓
   2* factorial(1)
             ↓ 
         1*1
ここから上に戻っていく、
          3*2(戻り値6)
             ↑
        2*1
             ↑
          1*1

おっしゃる通り、形がかわると途端にわからなくなってしまう(上記の考え方ができなくなってしまう)ので私は応用問題が弱いのだと思います。
もう一度基本から解く練習をしようと思います。
2026.04.23 17:00
ジャバおさん(No.4) 
その理解で合っています。頑張って下さい。
2026.04.23 17:15
 魂ぬけるさん(No.5) 
ジャバおさん

ありがとうございます!
問題を解いて、理解を深めて合格できるようにがんばります
2026.04.23 17:25
返信投稿用フォーム
お名前
顔アイコン

本文(コミュニティガイドライン⇱を順守して適切な投稿を心がけましょう)
🔐投稿削除用のパスワード(任意)
投稿プレビュー
※CBT試験では出題内容の公開が禁止されているため、直接的・間接的を問わず、出題内容や難易度を尋ねる質問は厳禁です。
※宣伝や迷惑行為を防止するため、当サイト、姉妹サイト、IPAサイト以外のURLを含む文章の投稿はできません。
投稿記事削除用フォーム
投稿No. パスワード 

Pagetop