Menampilkan Deret Bilangan Prima
Berikut adalah program Bash untuk menampilkan bilangan prima. Pemakai memasukkan nomer urutan dalam deret Bilangan Prima. Hasil program adalah bilangan prima yang dicari.
algoritma
- Cek jumlah argumen yang diterima. Jika jumlah argumen bukan 1, maka script akan keluar dengan pesan kesalahan.
- Simpan nilai parameter yang diberikan.
- Definisikan variabel primes yang berisi bilangan prima yang telah ditemukan. Kita memulainya dengan 2 karena 2 adalah bilangan prima pertama.
- Kita melakukan menghitung-ulang mulai 3 sampai ke batas yang sudah ditentukan, dengan kenaikan 2 setiap kali, karena bilangan genap selain 2 pasti bukan bilangan prima.
- Pada hitungan, kita memeriksa apakah bilangan tersebut prima atau tidak. Kita menggunakan variabel is_prime untuk menyimpan status bilangan tersebut.
- Kita menghitung nilai akar kuadrat bilangan untuk membatasi loop mencari faktor bilangan tersebut.
- Jika kita menemukan hasil bagi bilangan tersebut, maka bilangan pasti bukan prima.
- Jika setelah loop selesai dan is_prime masih true, maka bilangan tersebut prima dan kita menambahkannya ke dalam primes. `
bash
#!/bin/bash
if [ $# -ne 1 ]; then
echo "Cara pakai: $0 "
exit 1
fi
limit=$1
bilangan_prima="2"
for ((num=3; num < =limit; num+=2)); do
benarkah_bilangan_prima=true
sqrt=$(echo "sqrt($num)" | bc)
for p in $bilangan_prima; do
if [ $p -gt $sqrt ]; then
break
fi
if [ $((num % p)) -eq 0 ]; then
benarkah_bilangan_prima=false
break
fi
done
if [ "$benarkah_bilangan_prima" = true ]; then
bilangan_prima="$bilangan_prima $num"
fi
done
echo $bilangan_prima
`