算法练习一:最大公约数与最小公倍数
static void Main(string[] args)
{
Stopwatch s1 = new Stopwatch();
s1.Start();
int a = GetMaxDividen(2000, 1500);
s1.Stop();
Console.WriteLine(a);
Console.WriteLine(s1.ElapsedTicks);
Stopwatch s2 = new Stopwatch();
s2.Start();
int b = GetMaxDividen2(2000, 1500);
s2.Stop();
Console.WriteLine(b);
Console.WriteLine(s2.ElapsedTicks);
//Console.WriteLine(GetMaxDividen2(15, 20));
Console.WriteLine(getMinBei(33,55));
Console.Read();
}
public static int GetMaxDividen(int a, int b)
{
int c = a % b;
while (c != 0)
{
a = b;
b = c;
c = a % b;
}
return b;
}
public static int GetMaxDividen2(int a, int b)
{
int c = 0;
if (a < b)
{
//swap(a, b);
c = a;
a = b;
b = c;
}
for (int i = b; a > 1; i--)
{
if (a % i == 0 && b % i == 0)
{
c = i;
break;
}
}
return c;
}
static int getMinBei(int a, int b)
{
int c = GetMaxDividen(a, b);
return a * b / c;
}
posted on 2009-04-01 16:57 Love Fendi 阅读(481) 评论(0) 编辑 收藏 举报