반응형
2824번: 최대공약수
첫째 줄에 N(1 ≤ N ≤ 1000)이 주어진다. 둘째 줄에는 N개의 양의 정수가 공백으로 구분되어 주어진다. 이 수는 모두 1,000,000,000보다 작고, N개의 수를 곱하면 A가 된다. 셋째 줄에 M(1 ≤ M ≤ 1000)이
www.acmicpc.net
코드
def gcd(n,m):
while m>0:
n,m = m, n%m
return n
n = int(input())
n_list = list(map(int,input().split()))
m = int(input())
m_list = list(map(int,input().split()))
n_num = 1
m_num = 1
for i in n_list:
n_num *= i
for i in m_list:
m_num *= i
print(str(gcd(n_num,m_num))[-9:])
설명
유클리드 호제법을 이용해서 최대공약수를 구했다.
최대공약수가 9자리보다 길다면 마지막 9자리만 출력해야 되므로 답을 string형으로 변환한 후 [-9: ] 까지만 출력했다.
반응형
'알고리즘 > 수학' 카테고리의 다른 글
[백준][Python] 1026번 보물 (0) | 2022.10.19 |
---|---|
[백준][Python] 4673번 셀프 넘버 (0) | 2022.10.18 |
[백준][Python] 9421번 소수상근수 (1) | 2022.09.21 |
[백준][Python] 2168번 타일 위의 대각선 (0) | 2022.09.19 |
[백준][Python] 2553번 마지막 팩토리얼 수 (0) | 2022.09.16 |
댓글