フラクタル
提供:kuhalaboWiki
(版間での差分)
(→再帰的呼び出し) |
(→再帰的呼び出し) |
||
24行: | 24行: | ||
: n! = n * (n-1) * (n-2) * ... * 3 * 2 * 1 | : n! = n * (n-1) * (n-2) * ... * 3 * 2 * 1 | ||
: 1! = 1 | : 1! = 1 | ||
+ | |||
<pre> | <pre> | ||
− | + | // 再帰:n!=n*(n-1)! という漸化式で計算する。 | |
int factorial(int n){ | int factorial(int n){ | ||
− | + | if (n == 1){ | |
− | + | return 1; | |
− | + | }else{ | |
− | + | return n * factorial(n-1); //再帰的呼び出し | |
− | + | } | |
} | } | ||
− | + | // 反復:1からnまでを乗算する。 | |
− | + | int factorial(int n){ | |
− | + | int f = 1; | |
− | + | for (int i = 0; i < n; i++){ | |
− | + | f = f * (i+1); | |
− | + | } | |
− | + | return f; | |
− | + | } | |
</pre> | </pre> |
2020年11月2日 (月) 04:37時点における版
古代ギリシャからあるユークリッド幾何学と20世紀のフラクタル幾何学の比較
- 考察
- 古代エジプト人は3:4:5の辺を持つ三角形で直角が得られることを知っていた.ピラミッドなどの巨大建造物.
- 三平方の定理を発見したピタゴラスはどこがすごいか?
再帰的呼び出し
再帰的(recursive)呼び出しとは,サブルーチンや関数が,自分自身を呼び出すアルゴリズムをいう。 これを利用すると,複雑な手順を簡潔に記述することができる。
- 再帰的(Recursive)呼び出し
- "Recursive"という言葉を「頭山的」と訳した人がいる。
- 落語「自分の頭の上に穴があいて池ができた。その人が将来を悲観して,その池に身を投げた」
- 再帰的な定義の例: GNU: " GNU is Not Unix "
再帰は数学的帰納法であり,「局所的なルールで全体を記述する」ことである。 i)最初のコマを倒す。ii)n番目のコマが倒れると,n+1番目のコマも倒れる。iii)すべてのコマが倒れる。
- nの階乗を再帰と反復で計算する際の比較
- n! = n * (n-1) * (n-2) * ... * 3 * 2 * 1
- 1! = 1
// 再帰:n!=n*(n-1)! という漸化式で計算する。 int factorial(int n){ if (n == 1){ return 1; }else{ return n * factorial(n-1); //再帰的呼び出し } } // 反復:1からnまでを乗算する。 int factorial(int n){ int f = 1; for (int i = 0; i < n; i++){ f = f * (i+1); } return f; }