1. 設計一連分數計算器

private void calc_Click(object sender, EventArgs e)
{
    var strs = input.Text.Split(',');
    var data = new int[strs.Length];
    for (int i = 0; i < strs.Length; i++)
        data[i] = int.Parse(strs[i]);
    var a = 1;
    var b = data[data.Length - 1]; // a/b

    for (int i = data.Length - 2; i >= 0; i--)
    {
        int n = data[i];
        a += b * n;

        int tmp = b;
        b = a;
        a = tmp;
    }

    output.Text = $"{b} / {a}"; // reverse 
}

Last updated