用户在文本框中输入一个数值,点击生成按扭.
生成'斐波那契数列'.应该怎么写呀!!!大家帮忙看看斐波那契数列:若一個數列,首兩項等於 1,而從第三項起,每一項是之前兩項之和,則稱該數列為斐波那契數列.

解决方案 »

  1.   

    使用比内公式for (int i = 1; i < int.Parse(TextBox1.Text); i++)
            {
                double Fi = 1 / Math.Sqrt(5) / Math.Pow(2, i) * (Math.Pow(1 + Math.Sqrt(5), i) - Math.Pow(1 - Math.Sqrt(5), i));
                Response.Write(Fi.ToString() + "\t");
            }
      

  2.   

    给你段代码  给你参考一下返回的是第多少列的值
    public int GetSeqNumber(int fibIndex)
    {
    //斐波那契数列
    if(fibIndex<2) 
    {
    return fibIndex;
    }
    int[] FibArray={0,1};
    for(int i=1;i<fibIndex;i++)
    {
    FibArray[1]=FibArray[0]+FibArray[1];
    FibArray[0]=FibArray[1]-FibArray[0];
    }
    return FibArray[1];
    }
      

  3.   

    private int fn(int n)
    {
        if (n < 2)
        {
            return 1;
        }
        else
        {
            return fn(n - 1) + fn(n - 2);
        }
    }    protected void Button1_Click(object sender, EventArgs e)
    {
        int n = Convert.ToInt32(this.TextBox1.Text);
        string ret = string.Empty;
        for (int i = 1; i <= n; i++)
        {
            ret += fn(i) + " ";
        }
        Response.Write(ret);
    }
      

  4.   

    int [] x = new int[Int32.Parse(this.TextBox1.Text)];
    x[0] = 1;
    x[1] = 1;
    for(int i = 2;i < Int32.Parse(this.TextBox1.Text);i ++)
    {
    x[i] = x[i -1] + x[i - 2];
    }for(int i = 0;i < x.Length;i ++)
    {
    Response.Write(x[i]);
    }