Algorithm

๋ฐฑ์ค€ 13241 ์ตœ์†Œ ๊ณต๋ฐฐ์ˆ˜ With JAVA

hyunjun's developing ๐Ÿฃ 2024. 1. 20. 13:57

 

 

 

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

 

13241๋ฒˆ: ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜

์ •์ˆ˜ B์— 0๋ณด๋‹ค ํฐ ์ •์ˆ˜์ธ N์„ ๊ณฑํ•ด ์ •์ˆ˜ A๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค๋ฉด, A๋Š” B์˜ ๋ฐฐ์ˆ˜์ด๋‹ค. ์˜ˆ: 10์€ 5์˜ ๋ฐฐ์ˆ˜์ด๋‹ค (5*2 = 10) 10์€ 10์˜ ๋ฐฐ์ˆ˜์ด๋‹ค(10*1 = 10) 6์€ 1์˜ ๋ฐฐ์ˆ˜์ด๋‹ค(1*6 = 6) 20์€ 1, 2, 4,5,10,20์˜ ๋ฐฐ์ˆ˜์ด๋‹ค. ๋‹ค

www.acmicpc.net

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
 
public class Main_S3_13241 {
    static long n;
    static long m;
    static long result;
 
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        
        n = Long.parseLong(st.nextToken());
        m = Long.parseLong(st.nextToken());
        
        System.out.println(lcm(n, m));
    }
    
    // ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜
    public static long gcd(long a, long b) {
        while (b > 0) {
            long temp = a;
            a = b;
            b = temp % b;
        }
        
        return a;
    }
 
    // ์ตœ์†Œ ๊ณต๋ฐฐ์ˆ˜ => (a * b) / a์™€ b์˜ ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜
    public static long lcm(long a, long b) {
        return (a * b) / gcd(a, b);
    }
}
cs

 

๋จผ์ € ๋ฒ„ํผ๋ฆฌ๋”์™€ ํ† ํฌ๋‚˜์ด์ € ํ•˜๋‚˜๋ฅผ ๋งŒ๋“ค์–ด ์ค€๋‹ค. ๊ทธ ๋‹ค์Œ ์ฒซ ๋ฒˆ์งธ์ˆ˜ n๊ณผ ๋‘ ๋ฒˆ์งธ ์ˆ˜ m์„ ๋งŒ๋“ค์–ด ์ฃผ๊ณ  lcm ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ด ์ค€๋‹ค lcm ํ•จ์ˆ˜๋Š” ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ํ•จ์ˆ˜์ด๋‹ค. ์ด ํ•จ์ˆ˜๋ฅผ ์•Œ์•„๋ณด๊ธฐ ์ „์— ๋จผ์ € ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜๋ฅผ ๋งŒ๋“œ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ค๊ณ„ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. ์™œ๋ƒ๋ฉด ์ตœ์†Œ ๊ณต๋ฐฐ์ˆ˜๋ฅผ ์•Œ๋ ค๋ฉด ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜๋ฅผ ์•„๋Š” ๊ฒƒ์ด ๋จผ์ €์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์œ ํด๋ฆฌ๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ–ˆ๋‹ค. ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋ฉด ๋‘ ์ˆ˜์˜ ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ ๋‹ค์Œ ์ตœ์†Œ ๊ณต๋ฐฐ์ˆ˜์˜ ์„ฑ์งˆ์€ ์ตœ์†Œ ๊ณต๋ฐฐ์ˆ˜๋Š” ๋‘ ์ˆ˜์˜ ๊ณฑ์„ ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜๋กœ ๋‚˜๋ˆˆ ๊ฐ’์œผ๋กœ ๊ณ„์‚ฐ๋œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด a = 12, b = 18์ธ ๊ฒฝ์šฐ๋ฅผ ์ƒ๊ฐํ•ด๋ณด์ž. ์ด ๊ฒฝ์šฐ gcd ๊ฐ’ : ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜๋Š” 6์ด๋‹ค. 12 * 18 / 6 (์ตœ๋Œ€๊ณต์•ฝ์ˆ˜) ๋ฅผ ํ•˜๋ฉด ์ตœ์†Œ ๊ณต๋ฐฐ์ˆ˜๋Š” 36์ด ๋œ๋‹ค. ์ด๋ ‡๊ฒŒ  ์ตœ์†Œ ๊ณต๋ฐฐ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด ์„ฑ์งˆ์„ ์ด์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉด ์œ„์™€ ๊ฐ™๋‹ค.