artikel / menampilkan deret bilangan prima

Menampilkan Deret Bilangan Prima

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

  1. Cek jumlah argumen yang diterima. Jika jumlah argumen bukan 1, maka script akan keluar dengan pesan kesalahan.
  2. Simpan nilai parameter yang diberikan.
  3. Definisikan variabel primes yang berisi bilangan prima yang telah ditemukan. Kita memulainya dengan 2 karena 2 adalah bilangan prima pertama.
  4. 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.
  5. Pada hitungan, kita memeriksa apakah bilangan tersebut prima atau tidak. Kita menggunakan variabel is_prime untuk menyimpan status bilangan tersebut.
  6. Kita menghitung nilai akar kuadrat bilangan untuk membatasi loop mencari faktor bilangan tersebut.
  7. Jika kita menemukan hasil bagi bilangan tersebut, maka bilangan pasti bukan prima.
  8. 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

`

Selayang pandang proyek Perpustakaan Nirkabel

Perpustakaan Nirkabel (wireless library) is a 12-year-old project bringing digital technology to remote areas in Indonesia, empowering basic education and bridging the gap in education. It enables students in remote areas to access knowledge and resources previously out of reach. Witness the tech enthusiasts' brainchild with a heart for education.

detail