입력
3 16
3과 16 사이의 소수 출력
3
5
7
11
13
나의 코드
package boj;
import java.util.Scanner;
public class BOJ_1929 {
static boolean isPrime(int k) { //정적 함수
boolean flag = true;
if(k<2) { //이거 추가
return false;
}
for(int i=2 ;i<=Math.sqrt(k);i++) {
if(k%i == 0) {
return false;
}
}
return true;
}
public static void main(String args[]) { //정적 함수는 정적함수 사용가능
Scanner sc = new Scanner (System.in);
int a = sc.nextInt();//3
int b = sc.nextInt();//19
for(int i=a ; i<=b ; i++) {
if(isPrime(i)==true) {
System.out.println(i);
}
}
}
}
isPrime함수에 for문에서 소수일 경우 바로 return으로 반환해야 한다.
그리고 1
2는 소수
3은 소수
for문은 4부터만족하는데
k가 1일경우 혹은 그이하일 경우 소수가 아님을 표시해야한다.