Konfigurasi Bash Script Pada Bilangan Prima
Berikut adalah script untuk menentukan apakah angka yang kita masukan adalah bilangan prima atau bukan.
Banyaknya digit angka yang bisa di cari disesuaikan dengan batas angka integer.
#! /bin/bash
clear
echo -n "Masukan angka : "
read angka
x=2
#validasi angka harus di isi, jika tidak maka program keluar.
if [ -z $angka ]
then
echo "Nilai harus di isi."
echo ""
exit
else
#looping hasil.
#jika hasil bagi memiliki sisa, artinya angka input adalah bilangan prima, berlaku sebaliknya.
#hasil looping dimasukkan kedalam file sementara di /var/prima.txt
while [ $x -lt $angka ]
do
expr $angka % $x >> /var/prima.txt
hasil2variabel=`expr $angka % $x`
#mengakhiri looping jika $angka habis dibagi
if [ $hasil2variabel -eq 0 ]
then
break
fi
x=$[x+1]
done
#--> buka tag dibawah untuk melihat hasil bagi dari looping
#cat /var/prima.txt
#echo "-----"
val=`cat /var/prima.txt | grep "0" |head -1`
val1=`cat /var/prima.txt | grep "0" |head -1 >> /dev/null`
#--> hasil perintah sebelumnya yang akan dijadikan parameter untuk perintah selanjutnya
#echo "$val"
#penentuan bilangan prima atau bukan
#--> jika bernilai 0, maka angka memiliki hasil bagi dan bernilai bukan prima, berlaku sebaliknya
if [ "$val" = 0 ] || [ "$?" = 0 ]
then
echo "$angka bukan bilangan prima."
else
echo "$angka bilangan prima."
fi
#mengosongkan kembali file prima.txt
echo "" > /var/prima.txt
fi
exit
Cara tercepat untuk menghitung bilangan prima di C #
int Until = 20000000;
BitArray PrimeBits = new BitArray(Until, true);
/*
* Sieve of Eratosthenes
* PrimeBits is a simple BitArray where all bit is an integer
* and we mark composite numbers as false
*/
PrimeBits.Set(0, false); // You don't actually need this, just
PrimeBits.Set(1, false); // remindig you that 2 is the smallest prime
for (int P = 2; P < (int)Math.Sqrt(Until) + 1; P++)
if (PrimeBits.Get(P))
// These are going to be the multiples of P if it is a prime
for (int PMultiply = P * 2; PMultiply < Until; PMultiply += P)
PrimeBits.Set(PMultiply, false);
// We use this to store the actual prime numbers
List Primes = new List ();
for (int i = 2; i < Until; i++)
if (PrimeBits.Get(i))
Primes.Add(i);
0 Response to "Konfigurasi Bash Script Pada Bilangan Prima"
Posting Komentar