알고리즘/BOJ
[Python&C++]1037-약수
arduinocc04
2020. 5. 19. 08:41
https://www.acmicpc.net/problem/1037
1037번: 약수
첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되�
www.acmicpc.net
1과 자기자신을 제외한 약수중 가장 작은약수*가장 큰약수가 자기 자신이기때문에, 정렬한뒤 처음과 마지막을 곱했다.
Python
_ = input()
a = [int(i) for i in input().split()]
a.sort()
print(a[0]*a[-1])
C++
#include <cstdio>
#include <algorithm>
int main()
{
int a,b[50];
scanf("%d", &a);
for(int i = 0;i <a; i++)
{
scanf("%d", &b[i]);
}
std::sort(b, b+a);
printf("%d\n", b[0]*b[a-1]);
}

Python 틀린이유는 정렬을 안해줘서 이고, c++컴파일 에러는 std::sort()할때 std::를 빼먹었다.
틀렸던 이유는 마지막 인덱스 (a-1)의 코드가 잘못되어있었다.