백준 문제풀기/JAVA
[백준 4134 JAVA 자바] 다음 소수
냉동피자
2023. 8. 9. 00:25
정수가 주어졌을때
그 수 보다 크거나 같은 소수중
가장 작은 소수를 찾는 문제입니다
이 문제의 함정은
정수 n이
0<= n <=4*10^9인점 입니다
정수는 int지 하고 그냥 썼다가는
저랑 같은 길을 걷게됩니다
코드입니다
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
long[] arr = new long[n];
for(int i=0;i<n;i++) {
long t = Long.parseLong(br.readLine());
while (true) {
if (isprime(t)==1) {
arr[i]=t;
break;
}
t++;
}
}
for(int i=0;i<n;i++) {
System.out.println(arr[i]);
}
}
static int isprime(long m) {
if (m==0 || m==1)
{
return 0;
}
for (int i=2;i<=(int)(Math.sqrt(m));i++) {
if (m%i==0) {
return 0;
}
}
return 1;
}
}
넵
0<= n <=4*10^9 니깐
int 가 아닌
long을 이용해야합니다