본문 바로가기

알고리즘/BOJ

[Python&C++]1037-약수

 

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)의 코드가 잘못되어있었다.

'알고리즘 > BOJ' 카테고리의 다른 글

[Python]2389-세상의 중심에서...  (0) 2020.09.12
[Python]16489-삼각형 해커  (0) 2020.09.10
[Python]1194-달이 차오른다, 가자.  (0) 2020.08.10
[Python&C++]7868-해밍 수열  (0) 2020.07.11
[Python&C++]1026-보물  (0) 2020.05.18
[Python&C++]1032-명령 프롬포트  (0) 2020.05.18
[Python&C++]1004-어린 왕자  (0) 2020.05.18
[Python&C++]1003-피보나치 함수  (0) 2020.05.18