Witajcie!
Próbuję rozwiązać to zadanie:
http://www.spoj.com/problems/PRIME1/
Działa mi prawie wszystko poza jednym wyjątkiem: Ostatnia pętla oczekuje na enter i w związku z tym kod nie jest akceptowany (błąd NZEC). Jak mogę poradzić sobie z tym problemem?
Próbowałem szukać w google i tutaj, ale nawet nie wiem za bardzo jakie hasło wpisywać, bo nic konstruktywnego nie mogłem znaleźć.
import java.util.Scanner;
public class PRIME1 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
long t=in.nextInt();
for (long k=0; k<t; k++){
System.out.println("K= " + k);
long m=in.nextLong();
long n=in.nextLong();
in.reset();
System.out.println("M= " + m);
System.out.println("N= " + n);
long[] tab = new long[(int) (n+1)];
for (long i=2; i<=n; i++){
tab[(int)i]=i;
}
// Sito Eratostenesa
for (long i=2; i*i<=n; i++) {
if (tab[(int)i] != 0) {
long j = i+i;
while (j<=n) {
tab[(int)j] = 0;
j += i;
}
}
}
for (long i=m; i<=n; i++){
if (tab[(int)i]!=0) {
System.out.println(i);
}
}
System.out.println("");
}
}
}