如题,1000以内的斐波那契数列:
1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765要求代码最少

解决方案 »

  1.   

    用比内公式:
    for(int i=1;i<20;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));
    }
      

  2.   

    for (int i = 1, j = 1; i < 10000; i += j, j = i - j)
      Console.Write("{0} ", i);
      

  3.   

    a0 = 0,a1 = 1,An = An-1 + An-2(n>=2)
    int[] iArray = new int[31];iArray[0] = 0;
    iArray[1] = 1;for (int i = 2; i <= 30; i++)
    {
       iArray[i] = iArray[i - 1] + iArray[i - 2];
    }输出:iArray[30] = 832040
      

  4.   

    没看好题目,原来是<10000的,
    string ts="";
    for(int i=1;i<10000;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));
    if(Fi>10000)
    break;
    else
    ts+=Fi.ToString()+",";
    }
    MessageBox.Show(ts.ToString());
    这种算法比递归快很多.
      

  5.   

    只要输出?那就这样:for ( int i = 1, j = 2; i < 100000000; j += i, i = j - i ) Console.Write( "{0} " , i );
      

  6.   

    for(int i=1,j=2;i<1000;j+=i,i=j-i)Console.Write("{0} ",i);
    1234567890123456789012345678901234567890123456789012345678
             1         2         3         4         5共58个字符,计算输出一体化。