LoginSignup
0
0

filemakerでフィボナッチ数列を実装してみた

Last updated at Posted at 2023-09-20

filemakerでフィボナッチ数列を実装してみた

前回:https://qiita.com/sikakui-hospital/items/0e9a2d13eef79f5623a0

バージョンは17pro advancedなのでwhile関数はありません。
項数はフィールドで入力されたものを使うのがいいんでしょうけど、今回は直接$n にいれてしまっています。
第1項を1、第2項を1としているので、
1,1,2,3,5,8,13,21,34,55…となります。

  1. カスタム関数を使った再帰関数
  2. letによる再帰式

順番にコードを紹介します。

1. カスタム関数を使った再帰関数

カスタム関数の設定

関数名:fib
関数の引数:num
fib(num) =

Case(
num = 1;
1;

num= 2;
1;

num>2;
fib(num-1) + fib(num-2)
)

計算式

fib(10)

結果

55

合致していますね。

2. letによる再帰式

計算式

Let(
    [
        $n = 5;
        $f_1 = 1;
        $f_2 = 1;
        $saiki = "case(
            $n = 1;
            $f_1;

            $n = 2;
            $f_2;

            $n > 2;
            let(
                [
                    $f_n = $f_2 + $f_1;
                    $f_1 = $f_2;
                    $f_2 = $f_n;
                    $n= $n -1
                ];
                evaluate($saiki)
            )
        )"
    ];
    Evaluate($saiki)
)

結果

55

合致していますね。

以上です。本当は1.の仕様でカスタム関数を使わず実装をしたかったのですが、引数を用いない方法がわからず断念しました。わかる人がいましたら教えてください。

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