package pl.am.liczby.pierwsze;
public class LiczbyPierwsze {
public static int iloscDzielnikow4(long liczba) {
if (liczba == 1) {
return 1;
}
int ilosc = 2;
double max = Math.sqrt(liczba);
for (long i=2; i<=max; i++) {
if (liczba%i == 0) {
long wynikDzielenia = liczba/i;
if (i == wynikDzielenia) {
ilosc++;
} else {
ilosc += 2;
}
}
}
return ilosc;
}
public static boolean czyPierwsza(long liczba) {
if (liczba<2) {
return false;
}
return iloscDzielnikow4(liczba) == 2;
}
public static boolean czyPierwsza2(long liczba) {
if (liczba<2) {
return false;
}
double max = Math.sqrt(liczba);
for (long i=2; i<=max; i++) {
if (liczba%i == 0) {
return false;
}
}
return true;
}
public static void main(String[] args) {
long start = System.currentTimeMillis();
for (int i=1000000; i<2000000; i++) {
if (czyPierwsza2(i)) {
System.out.println(i);
}
}
long stop = System.currentTimeMillis();
long czas = stop - start;
System.out.println("czas = " + czas);
}
}