当前位置: 首页  >  C#  >  .net求两个数的最大公约数和最小公倍数

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

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

最小公倍数:如果有一个自然数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.         }  

 

Views:852   Posted at:2013-11-23
收藏 推荐 打印 | 录入:Admin | 阅读:0