체리의 하루
Published 2023. 4. 12. 17:20
[Go] BOJ / 1735번 / 분수 합 BOJ/Go

💻 문제

 

1735번: 분수 합

첫째 줄과 둘째 줄에, 각 분수의 분자와 분모를 뜻하는 두 개의 자연수가 순서대로 주어진다. 입력되는 네 자연수는 모두 30,000 이하이다.

www.acmicpc.net

 

📜 풀이

package main

import (
	"bufio"
	"fmt"
	"os"
)

func gcd(x, y int) int {
	if x < y {
		y, x = x, y
	}

	for y != 0 {
		x, y = y, x%y
	}

	return x
}

func main() {
	var a, b, c, d, m, g int

	r := bufio.NewReader(os.Stdin)
	w := bufio.NewWriter(os.Stdout)

	defer w.Flush()

	fmt.Fscanln(r, &a, &b)
	fmt.Fscanln(r, &c, &d)

	g = gcd(b, d)

	m = (b * d) / g
	a = (m / b) * a
	c = (m / d) * c
	a = a + c

	g = gcd(a, m)

	fmt.Fprintln(w, a/g, m/g)
}

 

728x90

'BOJ > Go' 카테고리의 다른 글

[Go] BOJ / 4134번 / 다음 소수  (0) 2023.04.17
[Go] BOJ / 1929번 / 소수 구하기  (0) 2023.04.17
[Go] BOJ / 13241번 / 최소공배수  (0) 2023.04.12
[Go] BOJ / 1934번 / 최소공배수  (0) 2023.04.12
[Go] BOJ / 10989번 / 수 정렬하기 3  (0) 2023.04.12