首页新闻找找看学习计划

用C#2005编写程序,用控制台实现

0
悬赏园豆:50 [已关闭问题]

题目是:在屏幕上输出如下所示数列:1  1  2  3  5  8  13  21……an(an<10000)

问题补充: 写出代码吧
追梦人√的主页 追梦人√ | 初学一级 | 园豆:100
提问于:2010-01-09 14:32
< >
分享
其他回答(2)
0

斐波那契数列嘛,一搜就有了

——————————————————————————————————

 

static void Main(string[] args)
{
int a = 1, b = 0, c = 0;
while (a + b <= 10000)
{
c
= a + b;
a
= b;
b
= c;
Console.WriteLine(c);
}
Console.Read();
}
斯克迪亚 | 园豆:4124 (老鸟四级) | 2010-01-09 15:13
给个代码吧,老兄 谢了
支持(0) 反对(0) 追梦人√ | 园豆:100 (初学一级) | 2010-01-09 17:37
提供了
支持(0) 反对(0) 斯克迪亚 | 园豆:4124 (老鸟四级) | 2010-01-09 21:18
0

using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;

namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
         ArrayList al=   GetNums();
         foreach (var num in al)
         {
             Console.WriteLine(num.ToString());
         }
         Console.Read();
        }
        static ArrayList GetNums()
        {
            ArrayList al = new ArrayList();


            for (int k = 1; k < 10; k++)
            {
                if (GetNums(k) < 10000)
                {
                    al.Add(GetNums(k));
                }
            }
                return al;
        }
        static int  GetNums(int index)
        {
            if (index == 1)
            {
                return 1;
            }
            if (index == 2)
            {
                return 1;
            }
            return GetNums(index - 1) + GetNums(index - 2);
        }
    }
}

【当耐特】 | 园豆:645 (小虾三级) | 2010-01-09 18:34
你改变K的值就可以了````,k太大了很卡···
支持(0) 反对(0) 【当耐特】 | 园豆:645 (小虾三级) | 2010-01-09 18:35
怎么只显示到43 没计算到1000啊
支持(0) 反对(0) 追梦人√ | 园豆:100 (初学一级) | 2010-01-09 19:46
改变K的值就可以啊
支持(0) 反对(0) 【当耐特】 | 园豆:645 (小虾三级) | 2010-01-10 09:17
1楼的方法更优雅····
支持(0) 反对(0) 【当耐特】 | 园豆:645 (小虾三级) | 2010-01-10 09:21
0

这就是一个简单的递归算法。。但是1楼的老兄没有用递归。。而且代码比较优雅。。

yangPrj | 园豆:280 (菜鸟二级) | 2010-01-19 16:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册