Tracy.Bai

Focus on Data analysis and Mining

导航

算法练习一:最大公约数与最小公倍数

 

 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编辑  收藏  举报