Program Bilangan_Prima;
Uses crt;
Var
i,j,m,n, batas,jml: integer;
(*i,j,m,n adalah variabel bantu untuk perulangan*)
(*jml adalah vvariabel bantu untuk menyimoan nilai jumlahan
dari bil prima*)
prima: boolean;
(*mendifinisikan variabel prima bertipe boolean*)
prim:array[1..100] of integer;
(*mendefinisikan variabel prim yang berisi 1 sampai 100
elemen bertipe integer*)
Begin
write('bilangan prima sampai suku ke: '); readln(n);
(*memasukkan jumlah bilanga prima yang akan ditampilkan*)
writeln('sebagai berikut: ');
i:=3;
prim[1]:=2;
(*suku pertama bilangan prima didefinisikan sama dengan 2*)
prim[2]:=3;
(*suku kedua bilangan prima didefinisikan sama dengan 3*)
m:=2;
(*pemberian nilai m = 2*)
Repeat
i:=i+1;
(*menaikkan nilai i sebanyak 1 sampai mendapat bil prima
sebanyak n*)
batas:=round(sqrt(i))+1;
(*rumus mencari batas dengan rumus yang telah ditentukan,
digunakan untuk proses perulangan*)
(*round adalah pembulatan bilangan pecahan*)
(*sqrt adalah akar*)
prima:=true;
(*mendefinisikan prima bernilai true*)
For j:= 2 to batas do
if i mod j = 0 then
(*mengecek apakah i dibagi j sama dengan 0*)
prima:=false;
(*jika habis dibagi, maka bukan termasuk bilangan prima*)
if prima = true then
Begin
m:=m+1;
(*dimulai dari suku ke-3(m=2)*)
prim[m]:=i;
(*array ke-m sama dengan suku ke-i*)
end;
until m=n;
For i:=1 to n do
(*perulangan untuk mencetak bil prima dan mencari jumlahan bil primanya*)
Begin
write(prim[i], ' ');
(*mencetak bilangan prima suku ke-1 sampai ke-n*)
jml:=jml+prim[i];
(*mencari jumlahan dari bilangan prima yang ditampilkan
dengan rumus yang telah ditentukan*)
end;
writeln;
writeln('jumlah bil prima: ',jml);
(*mencetak hasik penjumlahan bilangan prima*)
readln;
end.
Tidak ada komentar:
Posting Komentar