C# 求倆個正整數的最小公倍數和最大公約數
1.公倍數、最小公倍數
兩個或多個整數公有的倍數叫做它們的公倍數,其中除0以外最小的一個公倍數就叫做這幾個整數的最小公倍數
翻開小學5年級下冊PPT
1.1介紹
常用辦法
1、列舉法
例如:求6和8的最小公倍數。
6的倍數有:6,12,18,24,30,36,42,48,……
8的倍數有:8,16,24,32,40,48,……
6和8的公倍數:24,48,……其中24是6和8的最小公倍數。
這種方法是先分別寫出各自的倍數,再找出它們的公倍數,然后在公倍數里找出它們的最小公倍數。
2、分解質因數法。
我們也可以利用分解質因數的方法,比較簡便地求出兩個數的最小公倍數。
例如:求60和42的最小公倍數。
60=2×2×3×5 42=2×3×7
60和42的最小公倍數=2×3×2×5×7=420 。
這種方法是把60和42分別質因數后,觀察相同的質因數只取一個(如2,3),把各自獨有的質因數全部乘進去,所得的積就是這兩個數的最小公倍數。
3、短除法。
用短除法求18和24的最小公倍數。
2 18 24 …………先同時除以公因數2
3 9 12 …………再同時除以公因數3
3 4 ……除到兩個商只有公因數1為止。
把所有的除數和最后的兩個商連乘,得到:18和24的最小公倍數是2×3×3×4=72,可表示為[18,24]=2×3×3×4=72。
用短除法求兩個數的最小公倍數,一般都用這兩個數除以它們的公因數,一直除到所得的兩個商只有公因數1為止。把所有的除數和最后的兩個商連乘起來,就得到這兩個數的最小公倍數。
2.公約數、最大公約數
2.1介紹
公約數,亦稱“公因數”。它是一個能被若干個整數同時均整除的整數。如果一個整數同時是幾個整數的約數,稱這個整數為它們的“公約數”;公約數中最大的稱為最大公約數。
翻開小學5年級下冊PPT 約數和公約數,最大公約數
2.2 最小公倍數和最大公約數關系
兩個數的乘積等於這兩個數的最大公約數與最小公倍數的乘積。
3.C#代碼實現
代碼:
1 class Program 2 { 3 static void Main(string[] args) 4 { 5 int n = GetMinimumCommonMultiple(3, 5); 6 System.Console.WriteLine("3,5最小公倍數為:" + n.ToString()); 7 n = GetMinimumCommonMultiple(2, 4); 8 System.Console.WriteLine("2,4最小公倍數為:" + n.ToString()); 9 10 11 int numb = GetGreatestCommonDivisor(4, 8); 12 System.Console.WriteLine("4,8最大公約數為:" + numb.ToString()); 13 numb = GetGreatestCommonDivisor(3, 15); 14 System.Console.WriteLine("3,15最大公約數為:" + numb.ToString()); 15 16 17 18 System.Console.Read(); 19 } 20 21 22 /// <summary> 23 /// //最大公約數 24 /// </summary> 25 static int GetGreatestCommonDivisor(int a, int b) 26 { 27 if (a < b) 28 { 29 a = a + b; 30 b = a - b; 31 a = a - b; 32 } 33 return (a % b == 0) ? b : GetGreatestCommonDivisor(a % b, b); 34 } 35 36 /// <summary> 37 /// //最小公倍數 38 /// </summary> 39 static int GetMinimumCommonMultiple(int a, int b) 40 { 41 return a * b / GetGreatestCommonDivisor(a, b); 42 } 43 }
4.程序測試