C# 練習題 (2)

C# 練習題 (2)

練習題 (2): Fibonacci series, swapping two variables, finding maximum/minimum among a list of numbers.

費氏級數算是很基本的題目囉,大家都知道公式:

Fibonacci
(圖片來源: WikiPedia)

swap 兩個數值,也是很基本的題目。透過第三個變數,讓兩數互相交換。或是使用 bit XOR 的作法讓兩數交換。

找出數列中的最大最小值,則可以利用 Array 類別的 sort 方法,則第一個數值與最後一個數值則為最小值與最大值。

程式碼:

   1:  using System;
   2:   
   3:  namespace Exercise02
   4:  {
   5:      public class Program
   6:      {
   7:          public static void swap(ref int i, ref int j)
   8:          {
   9:              i ^= j;
  10:              j ^= i;
  11:              i ^= j;
  12:          }
  13:   
  14:          public static void Main(string[] args)
  15:          {
  16:              const int LENGTH = 10;
  17:              int[] ia = new int[LENGTH];
  18:              ia[0] = 1;
  19:              ia[1] = 1;
  20:   
  21:              Console.Write("Fibonacci series: {0}, {1}", ia[0], ia[1]);
  22:              for (int i = 2; i < ia.Length; i++)
  23:              {
  24:                  ia[i] = ia[i - 1] + ia[i - 2];
  25:                  Console.Write(", {0}", ia[i]);
  26:              }
  27:              Console.WriteLine(Environment.NewLine);
  28:   
  29:              int a = 2, b = 3;
  30:              Console.WriteLine("a: {0}, b: {1}", a, b);
  31:   
  32:              swap(ref a, ref b);
  33:              Console.WriteLine("a: {0}, b: {1}", a, b);
  34:              Console.WriteLine();
  35:   
  36:              Array.Sort(ia);
  37:              Console.WriteLine("Minimum: {0}, Maximum: {1}", ia[0], ia[ia.Length - 1]);
  38:          }
  39:      }
  40:  }