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

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

1.公倍數、最小公倍數

兩個或多個整數公有的倍數叫作它們的公倍數,其中除0之外最小的一個公倍數就叫作這幾個整數的最小公倍數測試

翻開小學5年級下冊PPTspa

1.1介紹

經常使用辦法

一、列舉法

   例如:求6和8的最小公倍數。code

   6的倍數有:6,12,18,24,30,36,42,48,……blog

   8的倍數有:8,16,24,32,40,48,……ip

   6和8的公倍數:24,48,……其中24是6和8的最小公倍數。string

   這種方法是先分別寫出各自的倍數,再找出它們的公倍數,而後在公倍數裏找出它們的最小公倍數。it

二、分解質因數法。

   咱們也能夠利用分解質因數的方法,比較簡便地求出兩個數的最小公倍數。class

   例如:求60和42的最小公倍數。test

60=2×2×3×5   42=2×3×7程序

60和42的最小公倍數=2×3×2×5×7=420 。

這種方法是把60和42分別質因數後,觀察相同的質因數只取一個(如2,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.程序測試

相關文章
相關標籤/搜索