Sept. 9, 2020
再帰という概念はコンピューター科学(また数学)の中の一番かっこいいものの一つだと思うので、再開と再開関数を紹介したいと思います。
数学の普通の関数、F、は次の通りです。
F(x) = x + 1
だから、1を打ち込んだら、
F(1) = 1 + 2
= 2
になります。
その簡単な例で、Fに数を打ち込んで、数の結果がすぐにもらいます。
ですが、もしFは、計算するときに、F関数も必要があったら、どうするでしょう?
例えば、階乗を計算するときに必要があるのです。
5! = 5 * 4 * 3 * 2 * 1
でも、
4! = 4 * 3 * 2 * 1
だから、
5! = 5 * (4 * (3 * (2 *( 1))))
5! = 5 * 4!
です。
階乗を計算する関数を作りましょう。再帰関数を使ったら、こういうことができます。
まず、関数のルールを決まります。
F(0) = 1
F(x) = x * F(x-1)
それから、Fを使って階乗を計算できます。5!の結果のために、Fに5を入力します。
F(5) = 5 * F(5-1)
F(5) = 5 * (4 * F(4-1))
F(5) = 5 * (4 * (3 * F(3-1)))
F(5) = 5 * (4 * (3 * ( 2 * F (2-1))))
F(5) = 5 * (4 * (3 * ( 2 * (1 * F(1-1)))))
F(5) = 5 * (4 * (3 * ( 2 * (1 * 1)))))
= 5 * 4 * 3 * 2 * 1 = 120
だから、プログラミングには、その2つのルールだけで、どんな数でも階乗が計算できます。
再帰という概念はコンピューター科学(または数学)の中の分野で一番かっこいいものの一つだと思うので、再開帰と再開帰関数を紹介したいと思います。
数学のに出てくる普通の関数、F、は次の通りです。
だから、この場合1を打ち込んだら、
F(1) = 1 + 21
そこの簡単な例で、Fの通り、xに数を打ち込んで、数のむと、結果がすぐにもらい返されます。
ですが、もしFは、を計算するときに、F関数自身も必要があになったら、どうするでしょう?
例えば、階乗を計算するときには必要があるのでになります。
でも、
?
階乗を計算する関数を作りましょう。
再帰関数を使ったら、こういうことができます。
まず、関数のルールを決まりめます。
の結果のために、Fxに5を代入力します。
F(5) = 5 * (4 * (3 * ( 2 * (1 * 1)))))
¶
= 5 * 4 * 3 * 2 * 1 = 120
¶¶
だから
というように、プログラミングにでは、そこの2つのルールだけで、どんなに大きな数でも階乗が計算できます。
Feedback
数学の専門用語をよく理解できていますね。最近プログラミングを学習しているのでこの内容はよく分かります。
再帰関数のカッコよさ |
再帰という概念はコンピューター科学(また数学)の中の一番かっこいいものの一つだと思うので、再開と再開関数を紹介したいと思います。 再帰という概念はコンピューター科学(または数学)の |
数学の普通の関数、F、は次の通りです。 数学 |
F(x) = x + 1 |
だから、1を打ち込んだら、
|
F(1) = 1 + 2 F(1) = 1 + |
= 2 |
になります。 |
その簡単な例で、Fに数を打ち込んで、数の結果がすぐにもらいます。
|
ですが、もしFは、計算するときに、F関数も必要があったら、どうするでしょう? ですが、もしF |
例えば、階乗を計算するときに必要があるのです。 例えば、階乗を計算するときには必要 |
5! |
= 5 * 4 * 3 * 2 * 1 |
でも、 でも、 ? |
4! |
= 4 * 3 * 2 * 1 |
だから、 |
5! |
= 5 * (4 * (3 * (2 *( 1)))) |
5! |
= 5 * 4! |
です。 |
階乗を計算する関数を作りましょう。 This sentence has been marked as perfect! |
再帰関数を使ったら、こういうことができます。 This sentence has been marked as perfect! |
まず、関数のルールを決まります。 まず、関数のルールを決 |
F(0) = 1 |
F(x) = x * F(x-1) |
それから、Fを使って階乗を計算できます。 |
5! |
の結果のために、Fに5を入力します。 の結果のために、 |
F(5) = 5 * F(5-1) |
F(5) = 5 * (4 * F(4-1)) |
F(5) = 5 * (4 * (3 * F(3-1))) |
F(5) = 5 * (4 * (3 * ( 2 * F (2-1)))) |
F(5) = 5 * (4 * (3 * ( 2 * (1 * F(1-1))))) |
F(5) = 5 * (4 * (3 * ( 2 * (1 * 1))))) = 5 * 4 * 3 * 2 * 1 = 120 だから、プログラミングには、その2つのルールだけで、どんな数でも階乗が計算できます。 F(5) = 5 * (4 * (3 * ( 2 * (1 * 1))))) |
You need LangCorrect Premium to access this feature.
Go Premium