๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“’ | Kotlin/๐Ÿค– | ์•Œ๊ณ ๋ฆฌ์ฆ˜

[Kotlin] ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ• ์•Œ๊ณ ๋ฆฌ์ฆ˜

by immgga 2022. 10. 24.

์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ•์ด๋ž€?

  • 2๊ฐœ์˜ ์ž์—ฐ์ˆ˜์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

 

๊ธฐ๋ณธ ๊ณผ์ •

์˜ˆ์‹œ๋กœ 32์™€ 24์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋ฅผ ๊ตฌํ•˜๋ฉด,

  1. 32๋Š” 24๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, 32๋ฅผ 24๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๊ตฌํ•œ๋‹ค. => 8
  2. 32๋Š” 8๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง„๋‹ค.
  3. ๋”ฐ๋ผ์„œ 32์™€ 24์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋Š” 8์ด๋‹ค.

์˜ˆ์ œ ์ฝ”๋“œ1. ์žฌ๊ท€ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉ

package algorithm

import java.io.BufferedReader
import java.io.InputStreamReader

fun main() {
    val bf = BufferedReader(InputStreamReader(System.`in`))
    val number = bf.readLine().split(" ")

    val a = number[0].toInt()
    val b = number[1].toInt()

    println(gcd(a, b))
}

fun gcd(a: Int, b: Int): Int {
    return if (b==0) a
    else gcd(a, a%b)
}

 

2. ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉ

package algorithm

import java.io.BufferedReader
import java.io.InputStreamReader

fun main() {
    val bf = BufferedReader(InputStreamReader(System.`in`))
    val number = bf.readLine().split(" ")

    var a = number[0].toInt()
    var b = number[1].toInt()

    var c: Int
    while (b != 0) {
        c = a % b
        a = b
        b = c
    }
    println(a)
}

๊ฒฐ๊ณผ


์—ฐ์Šต ๋ฌธ์ œ

https://www.acmicpc.net/problem/2609

 

2609๋ฒˆ: ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜์™€ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜

์ฒซ์งธ ์ค„์—๋Š” ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ๋‘ ์ˆ˜์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋ฅผ, ๋‘˜์งธ ์ค„์—๋Š” ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ๋‘ ์ˆ˜์˜ ์ตœ์†Œ ๊ณต๋ฐฐ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

www.acmicpc.net

https://www.acmicpc.net/problem/14490

 

14490๋ฒˆ: ๋ฐฑ๋Œ€์—ด

n๊ณผ m์ด :์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค. (1 ≤ n, m ≤ 100,000,000)

www.acmicpc.net

728x90