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