본문으로 바로가기

http://marobiana.tistory.com/91



import java.util.Arrays;

import java.util.Scanner;


public class test{

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

int m = sc.nextInt();

int n = sc.nextInt();

boolean[] arr = new boolean[n+n];

int total = 0;

Arrays.fill(arr, false);

for(int i=2;i<n;i++){

if(arr[i]) continue;

for(int j=i+i;j<=n;j+=i){

arr[j] = true;

}

}

for(int i=m;i<=n;i++){

if(arr[i]){ continue;}

else{

total += i;

}

}

if(total == 0){

System.out.println(-1);

}else{

System.out.println(total);

}

}

}


입력 n과 m 사이의 값 중에 소수를 출력시키는 코드.


i를 제외한 배수의 값을 제외시킨다.

이미 true로 변환된 값은 루프에서 제외시킨다.