본문 바로가기
알고리즘/매일마다 풀기(백준)

[2023-05-08] 1735 분수 합(Kotlin) + 4문제

by joh9911 2023. 5. 8.

 

문제 링크: 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}")
}

 

 

댓글