Home > 数学 > [Flex]調和級数の部分和計算フォーム

[Flex]調和級数の部分和計算フォーム

調和級数がどのように増加するのかを検証するために、調和級数の部分和を計算するツールを作りました。

PCスペックにもよりますが、x = 1000000(ひゃくまん)を入力するとアホほど時間がかかります。 なので1,000,000より上は入力できないようにしました。

計算結果は分数と小数両方表示します。 分数計算がめんどくさそうだったけど、ユークリッド互助法使って最大公約数を出す関数作ったら、それ使って最小公倍数も出せて結構簡単に 通分とか約分ができた。

上記2関数のソースを一応載せときます。

public class MathFunctions
{
    /**
     * 最大公約数を計算する 
     * @param m
     * @param n
     * @return 
     * 
     */
    public static function gcf(m:Number, n:Number):Number{
        //負の数の場合は正の数に変換
        m = Math.abs(m);
        n = Math.abs(n);

        while(true){
            if(m < n){
                var tmp:Number = m;
                m = n;
                n = tmp;
            }

            if(n == 0) return m;

            if(m % n == 0){
                return n;
            }else{
                m = m % n;
            }
        }

        return 0;//コンパイルエラーを防ぐため(実際にはここに到達することはない)
    }


    /**
     * 最小公倍数を計算する 
     * @param m
     * @param n
     * @return 
     * 
     */
    public static function lcm(m:Number, n:Number):Number{
        var gcf:Number = gcf(m, n);
        return m / gcf * n;
    }
}

関連するエントリー [Flex] 調和級数の部分和計算フォーム





プレビュー

トラックバック:No Trackbacks

トラックバック URL
http://blog.garden-place.jp/action.php?action=plugin&name=TrackBack&tb_id=216
Listed below are links to weblogs that reference
[Flex]調和級数の部分和計算フォーム from Web 酒 肴
このエントリにトラックバックはありません
このトラックバックURLを使ってこの記事にトラックバックを送ることができます。 もしあなたのブログがトラックバック送信に対応していない場合にはこちらのフォームからトラックバックを送信することができます。.

Home > 数学 > [Flex]調和級数の部分和計算フォーム

Search
Feeds

Page Top