[백준 1037] 약수

alsry._.112·2023년 10월 18일
0

백준

목록 보기
88/102

🔗문제 풀러가기
단계별로 풀어보기 단계 20의 1번째 문제이다.

문제 분석


가장 작은 약수와 가장 큰 약수를 곱하면 n이 나오는 규칙을 확인하고 이를 활용하여 문제를 해결하였다.

코드

#include <iostream>
using namespace std;

int main() 
{
    int t, n, min = 1000000, max = 0;

    cin >> t;

    for (int i = 0; i < t; i++)
    {
        cin >> n;

        min = min > n ? n : min;
        max = max < n ? n : max;
    }

    cout << min * max;
}   

해석

  1. 진짜 약수의 개수를 입력받은 후 그만큼 n을 입력받는다.
  2. 그후 삼항연산자를 이용하여 입력받은 n이 그전까지 가장 큰 수였던 max보다 큰지, min보다 작은지 확인한 후 그렇다면 min이나 max에 저장한다.
  3. min과 max를 곱하여 출력하면 끝!

n의 약수들 중 가장 큰 수와 가장 작은 수를 곱하면 n을 구할 수 있다.

profile
소통해요

0개의 댓글