C# 求倆個正整數的最小公倍數和最大公約數


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.程序測試

 


免責聲明!

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



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