본문 바로가기
프로그램/C# 1000제

C# 15제] C# 프로그램 입문 CHAPTER 3. p149 3.9 (5) 최대공약수와 최소공배수 구하기

by 건티 2021. 8. 25.
728x90

출처 : 대한민국 외교부 독도갤러리

 

 

문제]

두 수를 입력으로 받아 최대 공약수와 최소 공배수를 구하는 프로그램.

 

참고풀이]

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Text;

namespace Chapter3
{
    class P149_3_9_5
    {
        public static void Main(string[] args)
        {
            //두 수를 입력하여 최대공약수와 최소 공배수를 구하는 프로그램
            int X, Y;//두 수 입력변수
            int G;//최대공약수 변수
            int L;//최소공배수 변수
            int MIN;
            int r;

            //두 수를 입력받는다.
            Console.Write("첫번째 수를 입력하세요 : ");
            X = Int32.Parse(Console.ReadLine());
            Console.Write("두번째 수를 입력하세요 : ");
            Y = Int32.Parse(Console.ReadLine());

            //두 수를 큰수와 작은수로 구분한다.
            if (X > Y) { G = X; MIN = Y; }
            else { G = Y; MIN = X; }
            
            //최대공약수를 구한다.
            while (true)
            {
                r = G % MIN;
                G = MIN;
                MIN = r;
                if (r == 0) break;
            }
            //최소공배수를 구한다.
            L = X * Y / G;

            //결과값을 출력한다.
            Console.WriteLine("최대공약수(GCD)={0}, 최소공배수(LCM)={1}", G, L);
        }
    }
}

 

참고풀이 결과]

 

 

 

대한민국의 아름다운 영토, 독도의 가을

 

반응형

댓글