728x90
문제
양수 A가 N의 진짜 약수가 되려면, N이 A의 배수이고, A가 1과 N이 아니어야 한다. 어떤 수 N의 진짜 약수가 모두 주어질 때, N을 구하는 프로그램을 작성하시오.
풀이
진짜 간단한 문제다. 하지만 나는 틀렸다. '유클리드 호제법'은 두 수들의 나누기를 통해서 그 나머지로 기존 수로 나누어서 나머지가 0이 될 때의 나머지 수가 최대 공약수인 방법이다. 여기서 모든 약수들 중에서 최소 약수와 최대 약수의 곱으로 기존 수를 구할 수 있다.
https://ko.wikipedia.org/wiki/%EC%9C%A0%ED%81%B4%EB%A6%AC%EB%93%9C_%ED%98%B8%EC%A0%9C%EB%B2%95
유클리드 호제법 - 위키백과, 우리 모두의 백과사전
유클리드 호제법(-互除法, Euclidean algorithm) 또는 유클리드 알고리즘은 2개의 자연수 또는 정식(整式)의 최대공약수를 구하는 알고리즘의 하나이다. 호제법이란 말은 두 수가 서로(互) 상대방 수를
ko.wikipedia.org
import sys
if __name__ == '__main__':
n = int(input())
data = list(map(int, sys.stdin.readline().split()))
print(max(data)*min(data))
'코드연습 > BOJ' 카테고리의 다른 글
BOJ 2981 : 검문 (0) | 2022.04.28 |
---|---|
BOJ 2609 : 최대공약수와 최소공배수 (0) | 2022.04.27 |
BOJ 10814 : 나이순 정렬 (0) | 2022.04.26 |
BOJ 1181 : 단어 정렬 (0) | 2022.04.26 |
BOJ 1436 : 영화감독 숌 (0) | 2022.04.22 |