C# 練習題 (2)
練習題 (2): Fibonacci series, swapping two variables, finding maximum/minimum among a list of numbers.
費氏級數算是很基本的題目囉,大家都知道公式:
(圖片來源: 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: }