.net求两个数的最大公约数和最小公倍数

最大公约数:指两个或多个整数共有约束中最大的一个。

最小公倍数:如果有一个自然数a能被自然数b整除,则称a为b的倍数,b为a的约数,对于两个整数来说,指该两数共有倍数中最小的一个。

 

 1         /// <summary>
 2         /// 最大公约数
 3         /// </summary>
 4         /// <param name="a"></param>
 5         /// <param name="b"></param>
 6         /// <returns></returns>
 7         public static int GCD(int a, int b)
 8         {
 9             int gcd = 1;
10             int min = a > b ? b : a;
11             for (int i = min; i >= 1; i--)
12             {
13                 if (a % i == 0 && b % i == 0)
14                 {
15                     gcd = i;
16                     break;
17                 }
18             }
19             return gcd;
20         }
21 
22         /// <summary>
23         /// 最小公倍数
24         /// </summary>
25         /// <param name="a"></param>
26         /// <param name="b"></param>
27         /// <returns></returns>
28         public static int LCM(int a, int b)
29         {
30             int lcm = a * b;
31             int max = a > b ? a : b;
32             for (int i = max, len = a * b; i <= len; i++)
33             {
34                 if (i % a == 0 && i % b == 0)
35                 {
36                     lcm = i;
37                     break;
38                 }
39             }
40             return lcm;
41         }
View Code

 

 

 

 

 

 

 

 

 

posted @ 2013-11-23 17:16  贾锡安  阅读(393)  评论(1编辑  收藏  举报