๐Ÿงฉ Algorithm/[BOJ] Bronze

BOJ 5086 : ๋ฐฐ์ˆ˜์™€ ์•ฝ์ˆ˜ (Java/์ˆ˜ํ•™/Bronze 3)

devCloud 2024. 10. 14. 15:05
728x90

[๋ฌธ์ œ ๋งํฌ] ๐Ÿ‘‰ https://www.acmicpc.net/problem/5086


์„ค๋ช…

๋‘ ์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋‹ค์Œ 3๊ฐ€์ง€ ์ค‘ ์–ด๋–ค ๊ด€๊ณ„์ธ์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

  1. ์ฒซ ๋ฒˆ์งธ ์ˆซ์ž๊ฐ€ ๋‘ ๋ฒˆ์งธ ์ˆซ์ž์˜ ์•ฝ์ˆ˜์ด๋ฉด factor ์ถœ๋ ฅ
  2. ์ฒซ ๋ฒˆ์งธ ์ˆซ์ž๊ฐ€ ๋‘ ๋ฒˆ์งธ ์ˆซ์ž์˜ ๋ฐฐ์ˆ˜์ด๋ฉด multiple ์ถœ๋ ฅ
  3. ์ฒซ ๋ฒˆ์งธ ์ˆซ์ž๊ฐ€ ๋‘ ๋ฒˆ์งธ ์ˆซ์ž์˜ ์•ฝ์ˆ˜์™€ ๋ฐฐ์ˆ˜ ๋ชจ๋‘ ์•„๋‹ˆ๋ฉด neither ์ถœ๋ ฅ

๋‘ ์ˆ˜๊ฐ€ 0์ด๋ฉด, ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒํ•œ๋‹ค.

 

ํ’€์ด

if {
  	...
} else if {
	...
} else {
	...
}

 

 

Solution

sol.1

import java.io.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        while (true) {
            String[] nums = br.readLine().split(" ");
            int a = Integer.parseInt(nums[0]);
            int b = Integer.parseInt(nums[1]);

            if (a == 0 && b == 0) {
                break;
            }
            int check = 0;
            for (int i = 1; i <= 10000; i++) {
                if (b % i == 0) { //์•ฝ์ˆ˜ ์ค‘์—์„œ
                    if (i == a) {
                        System.out.println("factor");
                        check = 1;
                        break;
                    }
                } else if (b * i == a) {
                    System.out.println("multiple");
                    check = 1;
                    break;
                }
            }
            if (check == 0) {
                System.out.println("neither");
            }
        }
    }
}

 

์ฒซ ๋ฒˆ์งธ ํ’€์ด๋Š” ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ์•ฝ์ˆ˜๋ฅผ ์ผ์ผ์ด ๊ตฌํ•˜๋ฉด์„œ ์ถœ๋ ฅํ•˜๋Š” ์ฝ”๋“œ์ด๋‹ค. ๋ฉ”๋ชจ๋ฆฌ์™€ ์‹œ๊ฐ„์„ ๋งŽ์ด ์žก์•„๋จน๊ธฐ ๋•Œ๋ฌธ์— ์ข‹์€ ํ’€์ด๋Š” ์•„๋‹ˆ๋‹ค.  

 

 

sol.2

import java.io.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        while (true) {
            String[] nums = br.readLine().split(" ");
            int a = Integer.parseInt(nums[0]);
            int b = Integer.parseInt(nums[1]);

            if (a == 0 && b == 0) {
                break;
            }
            if (b % a == 0) { //์•ฝ์ˆ˜
                System.out.println("factor");
            } else if (a % b == 0) { //๋ฐฐ์ˆ˜
                System.out.println("multiple");
            } else { //๋‘˜ ๋‹ค ์•„๋‹ˆ๋ฉด
                System.out.println("neither");
            }
        }
    }
}

 

๐Ÿ‘ฉ‍๐Ÿ’ป ํšŒ๊ณ 

๊ตณ์ด ์•ฝ์ˆ˜๋ฅผ ๋‹ค ๊ตฌํ•˜์ง€ ์•Š์•„๋„ ๋์—ˆ๋Š”๋ฐ ์•„์‰ฌ์šด ํ’€์ด์˜€๋‹ค.


 

728x90