ce programem devrait calculer les nombres premier .. mais il calcule des nombres byzarre ( pas des nombres premier en tous cas ) ou est le bug ???
unit npremeir;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
ListBox1: TListBox;
text1: TEdit;
text2: TEdit;
Label1: TLabel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
procedure premier (depart, fin:longint);
implementation
{$R *.dfm}
procedure premier (depart, fin:longint);
var
conte:longint;
pilou:string;
testadd:byte;
depart1:longint;
begin
conte:=1;
testadd:=0;
depart1:=depart;
While depart<=fin do
begin
while conte<=depart do
begin
if depart mod conte = 0 then
testadd:=testadd + 1;
conte:=conte + 1;
end;
if testadd = 2 then
begin
pilou:=IntToStr(depart);
form1.ListBox1.Items.Add(pilou);
end;
depart := depart + 1;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ListBox1.Items.Clear;
premier(strtoint(text1.text),strtoint(text2.Text))
end;
end.
MErci a vous si vous trouvez ...