체리의 하루
Published 2023. 4. 12. 15:14
[Go] BOJ / 1934번 / 최소공배수 BOJ/Go

💻 문제

 

1934번: 최소공배수

두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있

www.acmicpc.net

 

📜 풀이

package main

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

func main() {
	var n int

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

	defer w.Flush()

	fmt.Fscanln(r, &n)
	var a []int = make([]int, n)
	var b []int = make([]int, n)

	for i := range a {
		fmt.Fscanf(r, "%d %d\n", &a[i], &b[i])
		x := 1

		if a[i] > b[i] {
			for j := 1; j <= b[i]; j++ {
				if a[i]%j == 0 && b[i]%j == 0 {
					x = x * j
					a[i] = a[i] / j
					b[i] = b[i] / j
					j = 1
				}
			}
		} else if a[i] <= b[i] {
			for j := 1; j <= a[i]; j++ {
				if a[i]%j == 0 && b[i]%j == 0 {
					x = x * j
					a[i] = a[i] / j
					b[i] = b[i] / j
					j = 1
				}
			}
		}
        
		fmt.Fprintln(w, x*a[i]*b[i])
	}
}

 

728x90

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

[Go] BOJ / 1735번 / 분수 합  (1) 2023.04.12
[Go] BOJ / 13241번 / 최소공배수  (0) 2023.04.12
[Go] BOJ / 10989번 / 수 정렬하기 3  (0) 2023.04.12
[Go] BOJ / 1181번 / 단어 정렬  (0) 2023.04.12
[Go] BOJ / 10815번 / 숫자 카드  (0) 2023.04.11