0
0

再帰とは

Last updated at Posted at 2024-02-24

再帰とは

あるメソッド内で自身のメソッドを呼び出すことを再帰という。

例:1から10までを足した値を再帰を使って出力する処理

public class java01 {

	public static void main(String[] args) {
		System.out.println(func(10));
		
	}
	
	static int func(int n) {
		if (n == 0) {
			return 0;
		}
		else {
			return n + func(n - 1);
		}
	}
}

処理の流れ

1.メインメソッドでfuncメソッドを呼び出す
2.メインメソッドから受け取った値をifで条件分岐
3.受け取った値は10なのでelseに入り、funcメソッドを10回呼び出す

10 + func(10-1), 9 + func(9-1), 8 + func(8-1), 7 + func(7-1), 6 + func(6-1),
5 + func(5-1), 4 + func(4-1), 3 + func(3-1), 2 + func(2-1), 1 + func(1-1)

4.nが0になったタイミングで戻り値として0をfunc(1-1)に返す
5.以降は順番に足し算を行う

1 + 0 = 1, 2 + 1 = 3, 3 + 3 = 6, 4 + 6 = 10, 5 + 10 = 15, 6 + 15 = 21, 7 + 21 = 28,
8 + 28 = 36, 9 + 36 = 45, 10 + 45 = 55,

6.nをメインメソッドに渡して処理終了

感想

仕組み自体はそこまで難しい印象は受けなかったがシンプルこれどこで使うん?

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0