C# 函數3 (函數的遞歸)


 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 
 6 namespace ConsoleApplication1
 7 {
 8     class Program
 9     {
10          // 要理解遞歸,先要理解遞歸.   (這只是一句玩笑話 )
11         // 遞歸,顧名思義就是遞來歸去,如此反復,直到不符合某個條件.  而函數遞歸意思也就是函數調用函數自己. 下面用代碼來示例:
12 
13         static int Funtion(int n)  // 用這個函數實現階乘 , n表示階乘的次數
14         {
15             if (n <= 1)
16                 return 1;
17             else
18                 return n * Funtion(n - 1);
19         }
20 
21         // 再使用一個函數來表示斐波納契數列   (斐波納契數列的規律是, 從第三項開始,每一項都是前兩項之和)
22 
23         static int Fei(int n) // n 表示斐波納契數列的項.
24         {
25             if (n < 3)
26                 return 1;
27             else
28                 return Fei(n - 1) + Fei(n - 2);
29         }
30 
31         static void Main(string[] args)
32         {
33             // 調用上面的階乘函數.
34             Console.WriteLine("請輸入需要階乘的次數:");
35             Console.WriteLine(Funtion(Convert.ToInt32 (Console.ReadLine())));
36 
37             //調用斐波納契數列函數.
38             Console.WriteLine("請輸入你想要實現多少項");
39             int n = Convert.ToInt32(Console.ReadLine());
40             // 用 for 語句把每一項都打印出來.
41             for (int i = 1; i <= n; i++)
42             {
43                 Console.Write("{0}\t", Fei(i));
44                 if (i % 5 == 0)
45                     Console.WriteLine();
46             }
47         }
48     }
49 }
50 /* 運行結果如下 : 
51  請輸入需要階乘的次數:
52 10
53 3628800
54 ------------------------
55 請輸入你想要實現多少項
56 30
57 1       1       2       3       5
58 8       13      21      34      55
59 89      144     233     377     610
60 987     1597    2584    4181    6765
61 10946   17711   28657   46368   75025
62 121393  196418  317811  514229  832040
63  */


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM