Iseng-iseng buat program untuk menentukan bilangan prima dengan bahasa pemrograman Java. Penentuan bilangan prima ini bukan dengan meng-input suatu bilangan dan akan menampilkan informasi bahwa bilangan yang di-input tersebut adalah bilangan prima atau bukan. Bukan begitu. Melainkan menampilkan daftar bilangan prima dari deretan bilangan, misal dari 1 sampai 1.000.000.
package id.rumahbatik.learningjava;
import java.util.concurrent.TimeUnit;
public class BilanganPrima {
public void start() {
int max = 200000;
long start = System.currentTimeMillis();
for(int i = 1; i <= max; i++) {
if ( getMainPrima(i) ) {
System.out.println(i);
}
}
long finish = System.currentTimeMillis();
elapsedTime(start, finish);
}
boolean getMainPrima(int i) {
boolean one = i % 1 == 0;
boolean two = i % 2 == 0 && i / 2 > 1;
boolean three = i % 3 == 0 && i / 3 > 1;
boolean five = i % 5 == 0 && i / 5 > 1;
boolean seven = i % 7 == 0 && i / 7 > 1;
return one && ! two && ! three && ! five && ! seven;
}
void elapsedTime(long start, long finish) {
long elapsed = finish - start;
String hms = String.format(
"%02d hours, %02d minutes, %02d seconds, and %02d milliseconds",
TimeUnit.MILLISECONDS.toHours(elapsed),
TimeUnit.MILLISECONDS.toMinutes(elapsed) % TimeUnit.HOURS.toMinutes(1),
TimeUnit.MILLISECONDS.toSeconds(elapsed) % TimeUnit.MINUTES.toSeconds(1),
TimeUnit.MILLISECONDS.toMillis(elapsed) % 1000
);
System.out.println("\n\n\n");
System.out.println("Program finish in:");
System.out.println(hms);
}
}
start() untuk memulai program. Variabel int max adalah sebagai batasan sampai bilangan keberapa Anda ingin mendapatkan bilangan prima
getMainPrima(int i) untuk menentukan apakah suatu bilangan yang di-passing ke parameter int i adalah bilangan prima atau bukan
elapsedTime() saya gunakan hanya sebagai pencatat waktu saja, tidak ada tujuan lain 😀
hasil output:

Feel free to suggest me simpler and or faster method. I will be very appreciate 🙂
Silakan Anda bebas berkomentar, memberi saran dan atau kritik jika mempunyai metode yang lebih sederhana dan lebih cepat. Saya akan sangat menghargai itu 🙂
gan jualan apaan ini gan ?
jualan cimol gan, biasa mangkal depan kampus