[백준 JAVA] 4134번 풀이 - 다음 소수
by mini_min계속 틀리네... 시간초과.....
package quiz;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
/**
* 다음 소수
* 정수 n이 주어졌을 때, n보다 크거나 같은 소수 중에 가장 작은 소수를 찾는 프로그램을 작성하시오.
* @author Back
*/
public class _ {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int testCaseCount = Integer.parseInt(br.readLine());
for ( int i = 0; i < testCaseCount; i++ ) {
long testCase = Long.parseLong(br.readLine());
test(testCase);
}
}
private static long test(long testCase) {
while(true) {
++testCase; //7
if ( getSosu(testCase) ) {
System.out.println(testCase);
break;
}
}
return testCase;
}
private static boolean getSosu(long num) {
boolean sosu = true;
long b = 2;
while( b < num ) {
if ( num % b == 0 ) {
sosu = false;
break;
}
b++;
}
return sosu;
}
}
풀이
시간 초과 열 받는다...!!ㅠㅠㅠㅠ
소수 열심히 구했는데... 답은 잘 나오는데.. 1과 본인 이외의 수로 나머지가 0이 아닌 애가 소수이도록 구했는데 ㅠㅠ... 시간 초과 어찌합니까...!
어쩔 수 없다... 공부할 겸 isPrime 을 사용하는 수 밖에 !
다시 푼 답안
package quiz;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;
import java.util.Scanner;
/**
* 다음 소수
* 정수 n이 주어졌을 때, n보다 크거나 같은 소수 중에 가장 작은 소수를 찾는 프로그램을 작성하시오.
* @author Back
*/
public class _ {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int testCaseCount = Integer.parseInt(br.readLine());
for ( int i = 0; i < testCaseCount; i++ ) {
long testCase = Long.parseLong(br.readLine());
BigInteger primeNumber = new BigInteger(String.valueOf(testCase));
if (primeNumber.isProbablePrime(10)){
System.out.println(primeNumber);
} else {
System.out.println(primeNumber.nextProbablePrime());
}
}
}
}
'매일매일 알고리즘 공부' 카테고리의 다른 글
[백준 JAVA] 4948번 풀이 - 베르트랑 공준 (0) | 2023.09.22 |
---|---|
[백준 JAVA] 1929번 풀이 - 소수 구하기 (에라토스테네스의 체) (0) | 2023.09.13 |
[백준 JAVA] 2485번 풀이 - 가로수 🌟 (0) | 2023.09.03 |
[백준 JAVA] 1735번 풀이 - 분수 합 (0) | 2023.09.01 |
[백준 JAVA] 1934번/13241번 풀이 - 최소공배수 (1) | 2023.08.31 |
블로그의 정보
개발자 미니민의 개발로그
mini_min