Jawab :
- bilangan prima hanya akan habis bila dibagi 1 dan bilangan itu sendiri.
- sehingga pasti akan ada sisa hasil bagi (mod) jika dibagi bilangan lebih dari 1 (kecuali 2) sampai bilangan sebelum bilangan itu (x-1).
- mencetak 2 terlebih dahulu ke layar.
- mengeset status bilangan prima menjadi true.
- beri nilai =1 (menandakan bilangan prima).
- melakukan pengecekan mulai dari 2 sampai x-1.
- jika x habis dibagi bilangan yang ada antara 2 sampai x-1, berarti x bukan bilangan prima. Variabel prima yang awalnya true berubah jadi false dan pengecekan tidak perlu dilanjutkan (break).
- jika dari bilangan antara 2 sampai x-1 tak satupun yang habis dibagi, maka variabel prima yang dideklarasikan sebagai true tidak berubah nilai (tetap true). Sehingga bilangan tersebut adalah bilangan prima dan akan ditampilkan ke layar.
- tambahkan nilai x dengan 1 dan ulangi dari langkah ke-5 sampai nilai x= 20
uses crt;
var x,y: integer;
prima: boolean;
begin
clrscr;
write('2':4);
for x := 3 to 20 do
begin
prima:=true;
for y := 2 to x-1 do
begin
if (x mod y) = 0 then
begin
prima := false;
break;
end;
end;
if prima then write(x:4);
end;
Readln;
end.
Tidak ada komentar:
Posting Komentar