[BOJ][C#] 5086 배수와 약수

LimJaeJun·2024년 1월 8일
0

PS/BOJ

목록 보기
91/108

📕 문제

📌 링크

📗 접근 방식

입력 처리

  • 각 루프에서 두 정수 x와 y를 입력 받는다.

종료 여부 확인

  • IsExit 함수를 사용하여 x와 y가 모두 0이면 무한 루프를 탈출한다.

약수 및 배수 판단

  • IsFactor 함수를 사용하여 x가 y의 약수인지 확인한다.
  • IsMultiple 함수를 사용하여 x가 y의 배수인지 확인한다.
  • 조건에 따라 "factor", "multiple", "neither" 중 하나를 StringBuilder에 추가한다.

출력

  • StringBuilder를 출력한다.

📘 코드

using System.Text;

namespace BOJ
{
    class No_5086
    {
        static void Main()
        {
            StringBuilder sb = new StringBuilder();
            
            while (true)
            {
                var inputs = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
                int x = inputs[0];
                int y = inputs[1];

                if (IsExit(x, y))
                {
                    break;
                }
                
                if (IsFactor(x, y))
                {
                    sb.AppendLine("factor");
                } 
                else if (IsMultiple(x, y))
                {
                    sb.AppendLine("multiple");
                }
                else
                {
                    sb.AppendLine("neither");
                }
            }

            Console.Write(sb);
        }

        static bool IsMultiple(int x, int y) => x % y == 0;
    
        static bool IsFactor(int x, int y) => x * (y / x) == y;
    
        static bool IsExit(int x, int y) => x == 0 && y == 0;
    }
}

📙 오답노트

📒 알고리즘 분류

  • 수학
  • 사칙연산
profile
Dreams Come True

0개의 댓글

관련 채용 정보