본문 바로가기
Problem Solving

[BOJ 1037] 약수

by Ladun 2019. 3. 10.

https://www.acmicpc.net/problem/1037

불러오는 중입니다...

정수 N의 진짜 약수는 N의 약수에서 1과 N을 뺀 약수이다.  문제에서 말하듯이 N의 모든 진짜 약수가 주어졌을 때 

 

N을 구하면 된다.

 

약수란 어떤 수 a를 b로 나누었을 때 나머지가 0이면, b는 a의 약수라고 한다.

 

즉 가장 작은 진짜 약수 * 가장 큰 진짜 약수를 하면 답이 나온다.

 

가장 큰 진짜 약수란 N을 가장 작은 진짜 약수로 나눈 수 이다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <stdio.h>
 
int main()
{
    int N;
 
    int max = 0, min = 1000000;
 
    int tmp;
 
    scanf("%d"&N);
 
    for (int i = 0; i < N; i++)
    {
        scanf("%d"&tmp);
 
        if (tmp > max)
            max = tmp;
        if (tmp < min)
            min = tmp;
    }
 
    printf("%d", max * min);
}
cs

 

'Problem Solving' 카테고리의 다른 글

[BOJ 1978] 소수 찾기  (0) 2019.03.16
[BOJ 1331] 나이트투어  (0) 2019.03.10
[BOJ 2869] 달팽이는 올라가고 싶다  (0) 2019.03.03
[BOJ 2004] 조합 0의 개수  (0) 2019.03.03
[BOJ 1676] 팩토리얼 0의 개수  (0) 2019.03.03