今天同事问我有Vb没有,我给他找下来了。可是心里边非常纳闷,他要这个干吗呀?
快要下班的时候,他跟我说:“你能不能帮我解决个数学问题。刚才装了vb,可是不知道怎么操作,郁闷死了。”“好呀,你说吧。”他开始边说边在纸上比划:“有一个数列,分别是1,2,4,7,11,18……前面四个数都没有任何规律,到第5个就是第3个和第4个的和,第6个就是第4个和第5个的和,以此类推,要求求前n个数列的和。”呵呵,这用个递归函数就可以解决问题了。不过我还真没有运用过这个东东呢。“行,我一会就给你。”他乐颠颠跑去吃饭了。
这个不难解决,调试了几下,终于OK了,贴出来瞧瞧。
 1using System;
 2
 3class clsTest{
 4    public static int i;
 5    public static void Main(){
 6        Console.WriteLine("请输入n:");
 7        string tmp=Console.ReadLine();
 8        int n=int.Parse(tmp);
 9        while(n>=4){
10            i=3;
11            Console.WriteLine("和为:{0}",1+2+getResult(n,4,7));
12            Console.WriteLine("\n请输入n:");
13            tmp=Console.ReadLine();
14            n=int.Parse(tmp);
15        }

16        Console.WriteLine("输入的数字必须大于3。");
17    }

18    private static long getResult(int n,long a,long b){
19        i++;
20        if(i==n)return a+b;
21        else{
22            return a+getResult(n,b,a+b);
23        }

24    }

25}
虽然比较简单,不过还是蛮有成就感的,^_^!
posted on 2006-07-05 12:48  晓寒天  阅读(361)  评论(0)    收藏  举报