문제 링크: https://www.acmicpc.net/problem/1735
1735번: 분수 합
첫째 줄과 둘째 줄에, 각 분수의 분자와 분모를 뜻하는 두 개의 자연수가 순서대로 주어진다. 입력되는 네 자연수는 모두 30,000 이하이다.
www.acmicpc.net
최대 공약수를 구하면 되는 문제였습니다.
유클리드 호제법을 구현하는 함수를 외워서 작성하였습니다.
package thirtyeighth
import java.io.*
fun main(){
val br = BufferedReader(InputStreamReader(System.`in`))
val (a,b) = br.readLine().split(' ').map{it.toInt()}
val (c,d) = br.readLine().split(' ').map{it.toInt()}
// 최대 공약수 반환
fun gcd(a: Int,b:Int): Int{
return if (b==0) a
else gcd(b,a%b)
}
val p = b*d
val cb = c*b
val ad = a*d
val s = ad+cb
val e = gcd((s),p)
println("${s/e} ${p/e}")
}
'알고리즘 > 매일마다 풀기(백준)' 카테고리의 다른 글
[2023-05-10] 1182 부분 수열의 합 (Kotlin) + 8 문제 (1) | 2023.05.10 |
---|---|
[2023-05-09] 24479 알고리즘 수업 - 깊이 우선 탐색 1 (Kotlin) + 7문제 (0) | 2023.05.09 |
[2023-05-07] 28015 영역 색칠 (Kotlin) (0) | 2023.05.07 |
[2023-05-06] 1890 점프 (Kotlin) + 6문제 (0) | 2023.05.06 |
[2023-05-05] 1325 효율적인 해킹 (Kotlin) + 5문제 (0) | 2023.05.05 |
댓글