View

λ°˜μ‘ν˜•

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

 

2023번: μ‹ κΈ°ν•œ μ†Œμˆ˜

μˆ˜λΉˆμ΄κ°€ μ„Έμƒμ—μ„œ κ°€μž₯ μ’‹μ•„ν•˜λŠ” 것은 μ†Œμˆ˜μ΄κ³ , μ·¨λ―ΈλŠ” μ†Œμˆ˜λ₯Ό 가지고 λ…ΈλŠ” 것이닀. μš”μ¦˜ μˆ˜λΉˆμ΄κ°€ κ°€μž₯ κ΄€μ‹¬μžˆμ–΄ ν•˜λŠ” μ†Œμˆ˜λŠ” 7331이닀. 7331은 μ†Œμˆ˜μΈλ°, μ‹ κΈ°ν•˜κ²Œλ„ 733도 μ†Œμˆ˜μ΄κ³ , 73도 μ†Œμˆ˜

www.acmicpc.net

package λ°±μ€€;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

//μ‹ κΈ°ν•œ μ†Œμˆ˜
public class Main_2023 {
	static int n;
	static int[] pick;

	public static void main(String[] args) throws NumberFormatException, IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		n = Integer.parseInt(br.readLine());

		pick = new int[n];
		permutation(0, 0);
	}

	private static void permutation(int num, int cnt) {// cntλŠ” 자리
		if (cnt == n) {
			System.out.println(num);
			return;
		}

		for (int i = 1; i <= 9; i++) {

			// κ·Έ λ­μ‹œλƒ
			// 2333 이면 2 μ†Œμˆ˜ 23 μ†Œμˆ˜ 233μ†Œμˆ˜ 2333μ†Œμˆ˜μ—¬μ•Όν•˜λ‹ˆκ»˜ κ·Έκ±° 체크
			if (prime(num * 10 + i)) {// 1의 경우 2 3 5 7 μ†Œμˆ˜λ§Œ 좜λ ₯
				permutation(num * 10 + i, cnt + 1); // n이 되면 κ·Έλ•Œ λ§Œλ“€μ–΄μ§„ 수λ₯Ό 좜λ ₯함
			}
		}

	}

	private static boolean prime(int num) {
		if (num == 1)
			return false;
		int sqrt = (int) Math.sqrt(num);// 제곱근의 수둜 νŒλ³„ -> μ‹œκ°„μ΄ˆκ³Ό 쀄이기 μœ„ν•¨ 
		// μ†Œμˆ˜μΈμ§€ νŒλ³„
		for (int i = 2; i <= sqrt; i++) {
			if (num % i == 0) {
				return false;
			}
		}
		return true;

	}

}

 

 

λ°˜μ‘ν˜•
Share Link
reply
λ°˜μ‘ν˜•
Β«   2024/09   Β»
일 μ›” ν™” 수 λͺ© 금 ν† 
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