Bu yazımızda belirtilen aralık arasındaki asal sayıları bulan program anlatılmaktadır.
Asal Sayı:Sadece 1’e ve kendisine tam bölünebilen sayıdır.
Örn: 2, 3, 5, 7, 11, 13, 17, 19… *En küçük ve tek çift asal sayı ‘2’ dir.
[Kod Kısmı]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;type
TForm1 = class(TForm)
Panel1: TPanel;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
ListBox1: TListBox;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
baslangic,bitis,carpan,i,j:integer;
begin
//listbox temizleniyor.
listbox1.clear;
//İstenilen aralık alınıyor..
baslangic:=strtoinT(edit1.text);
bitis:=strtoint(edit2.text);
//Aralıktaki her sayının asal sayı olup olmadığını kontrol etmek için döngü kuruluyor.
For i:=baslangic To bitis Do Begin
//Asıl kısım..Buradan sonra bir sayının asal olup olmadığı kontrol edilir.
//Bir sonraki sayının kontrolü için carpan değişkeni sıfırlanıyor.
carpan:=0;
For j:=1 To i Do
//Sayı 1’den kendisine kadar olan sayılara bölünür.Kalan 0 ise tam bölünmüş demektir.//Tam bölünüyorsa carpan degiskeninin değeri 1 arttırılıyor.
If (i mod j=0) Then
carpan:=carpan+1;
//Sayı 1 ve kendisine yani 2 adet sayıya tam olarak bölünürse asaldır..Sayının asal olup olmadığı kontrol ediliyor.
If carpan=2 Then
listbox1.Items.add(inttostr(i)); //sayı asal ise listbox’a ekleniyor..
end;
end;end.
[Ekran Çıktısı]
e.U