반응형

파이썬 math.gcd 3

[파이썬, Python] 백준 1735: 분수 합

문제 https://www.acmicpc.net/problem/1735 1735번: 분수 합 첫째 줄과 둘째 줄에, 각 분수의 분자와 분모를 뜻하는 두 개의 자연수가 순서대로 주어진다. 입력되는 네 자연수는 모두 30,000 이하이다. www.acmicpc.net 코드 import math a, b = map(int, input().split()) c, d = map(int, input().split()) n = math.gcd(a*d + c*b, b*d) print((a*d + c*b)//n, b*d//n) 설명 단순한 방식으로 접근했다. 먼저 통분을 통해서 더해주었다. 이후 분자와 분모의 최대공약수로 나누어주어 해결했다.

[파이썬, Python] 백준 9613: GCD 합

문제 https://www.acmicpc.net/problem/9613 9613번: GCD 합 첫째 줄에 테스트 케이스의 개수 t (1 ≤ t ≤ 100)이 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있다. 각 테스트 케이스는 수의 개수 n (1 < n ≤ 100)가 주어지고, 다음에는 n개의 수가 주어진 www.acmicpc.net 코드 import math,sys input = sys.stdin.readline t = int(input()) for i in range(t): a = list(map(int, input().split())) n = a[0] nums = a[1:] cnt = 0 for i in range(n-1): for j in range(i+1, n): cnt += math.gc..

[파이썬, Python] 백준 1850: 최대공약수

문제 https://www.acmicpc.net/problem/1850 1850번: 최대공약수 모든 자리가 1로만 이루어져있는 두 자연수 A와 B가 주어진다. 이때, A와 B의 최대 공약수를 구하는 프로그램을 작성하시오. 예를 들어, A가 111이고, B가 1111인 경우에 A와 B의 최대공약수는 1이고, A www.acmicpc.net 코드 import math n, m = map(int, input().split()) print("1" * math.gcd(n, m)) 설명 규칙성을 발견한다면 간단하게 해결이 가능한 문제였다. 이 문제의 규칙은 주어진 두 수의 최대공약수에 해당하는 수만큼 1이 반복되어 나온다는 것. 따라서 math 모듈의 gcd를 사용하여 최대공약수를 구하고, 그 수만큼 1을 출력해 ..

반응형