<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>第５講 数値計算（2/2） on 2024年度 発展プログラミング演習（春学期）</title>
    <link>https://ksuap.github.io/2024spring/lesson05/index.html</link>
    <description>Recent content in 第５講 数値計算（2/2） on 2024年度 発展プログラミング演習（春学期）</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>ja</language>
    <lastBuildDate>Thu, 13 Apr 2023 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://ksuap.github.io/2024spring/lesson05/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>再帰呼び出し（Recursive call）</title>
      <link>https://ksuap.github.io/2024spring/lesson05/recursive/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://ksuap.github.io/2024spring/lesson05/recursive/index.html</guid>
      <description>再帰呼び出し (Recursive call) 再帰呼び出しとは 例題1 階乗改2 例題2 最大公約数 再帰呼び出しの失敗 練習問題 まとめ 再帰呼び出しとは 再帰呼び出しとは，あるメソッド中でそのメソッド自身を呼び出しているメソッドを，再帰呼び出しメソッドと呼びます． 再帰呼び出しを使うと問題が簡単に解ける場合もあります．
例えば，次のようなメソッドのことを再帰呼び出しメソッドと呼びます．
Integer recursive(Integer value){ if(value == 1){ return 1; } return recursive(value - 1) + value; } このプログラムは，${\rm sum}(n)=\sum_{i=1}^{n} i$を計算するメソッドです． 漸化式と馴染みの深いプログラミングテクニックです． なお，この式は漸化式では次の通りになります． \[ {\rm sum}(n) = \begin{cases} 1 &amp; n=1\\\\ n + {\rm sum}(n-1) &amp; n&gt; 1 \end{cases} \] $n$（value）が 1 の時は 1 を返し， それ以外の場合は， $n + {\rm sum}(n - 1)$（recursive(value - 1) + value）を返します．</description>
    </item>
    <item>
      <title>練習問題</title>
      <link>https://ksuap.github.io/2024spring/lesson05/assignments/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://ksuap.github.io/2024spring/lesson05/assignments/index.html</guid>
      <description>再帰呼び出し (Recursive call) 練習問題 GrandTotal改 Fibonacci数列 改 最小公倍数 回文チェッカー ヒント1: 文字列のn文字目を取得する ヒント2: 部分文字列を取得する ヒント3: 考え方 まとめ 1. GrandTotal改 第０講 練習問題 3. 総和を求めるを 再帰呼び出しを使って計算するプログラムを作成してください． クラス名は，GrandTotal2としてください． また，コマンドライン引数で最大値を与えられるようにしてください．
出力例 $ java GrandTotal2 1から10までの総和は55です． $ java GrandTotal2 10 1から10までの総和は55です． $ java GrandTotal2 100 1から100までの総和は5050です． $ java GrandTotal2 90 1から90までの総和は4095です．2. Fibonacci数列 改 第１講 練習問題 5. Fibonacci数列を 再帰呼び出しを使って計算してみましょう． Fibonacci数列の $n$項目の値を出力してください． クラス名はFibonacci2としてください．
コマンドライン引数に値が指定されない場合は，10項目が指定されたものとしてください． コマンドライン引数に複数個の数値が与えられた場合，全ての数値に対して結果を出力してください．
出力例 $ java Fibonacci2 fobonacci(10) = 55 $ java Fibonacci2 1 2 fibonacci(1) = 1 fibonacci(2) = 1 $ java Fibonacci2 4 10 20 fibonacci(4) = 3 fibonacci(10) = 55 fibonacci(20) = 6765 $ java Fibonacci2 40 fibonacci(40) = 1023341553.</description>
    </item>
    <item>
      <title>まとめ</title>
      <link>https://ksuap.github.io/2024spring/lesson05/summary/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://ksuap.github.io/2024spring/lesson05/summary/index.html</guid>
      <description> 再帰呼び出し (Recursive call) 再帰呼び出しとは 例題1 階乗改2 例題2 最大公約数 再帰呼び出しの失敗 練習問題 GrandTotal改 Fibonacci数列 改 最小公倍数 回文チェッカー ヒント1: 文字列のn文字目を取得する ヒント2: 部分文字列を取得する ヒント3: 考え方 まとめ まとめ あるメソッドの中で自分自身を呼び出せる． 再帰呼び出しと呼ぶ． 再帰呼び出しのメソッドは，必ず再帰から抜ける脱出口が存在する． もし，存在しなければ，StackOverflowExceptionが発生する． メソッド呼び出しが深すぎて，それ以上メソッドを呼び出せない状態． その他 文字列のn文字目を取得する 部分文字列を取得する </description>
    </item>
  </channel>
</rss>