반응형
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;
}
}
반응형
'Algorithm' 카테고리의 다른 글
[프로그래머스] 2️⃣ 무인도 여행(JAVA) (0) | 2023.02.24 |
---|---|
[백준] 14502: 연구소 (Java) (0) | 2022.10.09 |
[SWEA_3307] 최장 증가 수열(LIS, Longest Increasing Subsequence) (0) | 2022.10.06 |
[프로그래머스] 보호소에서 중성화한 동물 (0) | 2022.10.06 |
[백준] 2630: 색종이 만들기(분할정복) (0) | 2022.10.03 |