Başlangıç > Kodlar > Delphi ile Asal sayı bulmak

Delphi ile Asal sayı bulmak


Verilen aralıktaki asal sayılar nasıl bulunur

Forma 1 adet düğme,2 adet editbox,1 adet listbox koyalım.
Edit1.text ve edit2.text arasındaki asal sayıları listbox'a atalım.Olayın mantığı şudur.Bir sayının asal olup olmadığını bulmak için o sayıyı sayının karaköküne kadar olan sayılara böleriz.Eğer hiçbirine bölünmüyorsa sayı asaldır.Örneğin sayımız 37 olsun.Karakökü tamsayı olarak 6 diyelim.2'ye,3'e,4'e,5'e,6'ya bölünmez.O zaman sayımız asaldır.37' ye kadar tüm sayılara bölmeye gerek yok.

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Label1: TLabel;
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Label2: TLabel;
Label3: TLabel;
ListBox1: TListBox;
Label4: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
k,i,sayi,y,n,m:longint;
a:boolean;
begin
listbox1.Items.Clear;
for sayi:=strtoint(edit1.text) to strtoint(edit2.Text) do begin
i:=2;
y:=trunc(sqrt(sayi));
a:=true;
while (i<=y) and (a=true) do begin
if sayi/i=sayi div i then a:=false
else i:=i+1;
end;
if a<>false then begin
listbox1.Items.Add(inttostr(sayi));
end;
end;
end;
end.
Kolay Gele.


TD Software


  1. mustafa
    08/06/2014, 20:08

    hocam böyle bi hata alıyom çözemedim bi yardım edermisin

    SAYGILARIMLA

    HATA:edit1 is not a vaild integer value

    Beğen

  1. No trackbacks yet.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: