Frank's avatar
Frank

Sept. 9, 2020

0
再帰関数のカッコよさ

再帰という概念はコンピューター科学(また数学)の中の一番かっこいいものの一つだと思うので、再開と再開関数を紹介したいと思います。
数学の普通の関数、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つのルールだけで、どんな数でも階乗が計算できます。

Corrections

再帰という概念はコンピューター科学(また数学)の中の分野で一番かっこいいものの一つだと思うので、再と再関数を紹介したいと思います。

数学に出てくる普通の関数、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

数学の専門用語をよく理解できていますね。最近プログラミングを学習しているのでこの内容はよく分かります。

Frank's avatar
Frank

Sept. 12, 2020

0

ありがとうございました!プログラミングは面白い本ですね。

再帰関数のカッコよさ


再帰という概念はコンピューター科学(また数学)の中の一番かっこいいものの一つだと思うので、再開と再開関数を紹介したいと思います。


再帰という概念はコンピューター科学(また数学)の中の分野で一番かっこいいものの一つだと思うので、再と再関数を紹介したいと思います。

数学の普通の関数、F、は次の通りです。


数学に出てくる普通の関数、F、は次の通りです。

F(x) = x + 1


だから、1を打ち込んだら、


だから、この場合1を打ち込んだら、

F(1) = 1 + 2


F(1) = 1 + 21

= 2


になります。


その簡単な例で、Fに数を打ち込んで、数の結果がすぐにもらいます。


の簡単な例で、Fの通り、xに数を打ち込んで、数のむと、結果がすぐにもらい返されます。

ですが、もし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を入力します。


の結果のために、Fxに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)))))
= 5 * 4 * 3 * 2 * 1 = 120

だから

というように
、プログラミングは、の2つのルールだけで、どんなに大きな数でも階乗が計算できます。

You need LangCorrect Premium to access this feature.

Go Premium