Ver Mensaje Individual
  #1  
Antiguo 05-10-2013
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Reputación: 23
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
XavierAramayo,

Cita:
Empezado por XavierAramayo
...ingresar un número n y que me mostrase los n primeros números primos...
¡Bienvenido al Club Delphi!

Revisa este código:
Código Delphi [-]
unit Unit1;

interface

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

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

var
  Form1: TForm1;

implementation

{$R *.dfm}

// Genera n números primos ( n <= MaxInt )
function GeneratorNumberPrime(Limit : Integer) : TStringList;
var
   n,i,c : Integer;
   rn : integer;
   NumberPrime : TStringList;
   Prime : Boolean;

begin

   n := 3;
   NumberPrime := TStringList.Create;
   NumberPrime.Add('1');
   NumberPrime.Add('2');
   c := 0;

   While (c <= Limit - 3) do
   begin

      Prime := True;
      rn := Trunc(sqrt(n));

      for i := 2 to rn do
      begin
         if (n mod i) = 0 then
         begin
            Prime := False;
            break;
         end;
      end;

      if Prime then
      begin
         NumberPrime.Add(IntToStr(n));
         Inc(c);
      end;

      Inc(n,2);

   end;

   Result := TStringList.Create;
   Result.Assign(NumberPrime);
   NumberPrime.Free;

end;

// Genera n números primos, por defecto o error se generan 10.
procedure TForm1.Button1Click(Sender: TObject);
var
   Limit : Integer;
begin
   Limit := StrToIntDef(Edit1.Text,10);
   ListBox1.Items.Assign(GeneratorNumberPrime(Limit));
end;

end.
El código anterior genera n números primos dado un número límite de la función generatriz, como se muestra en la siguiente imagen:



El ejemplo esta disponible en el link: http://terawiki.clubdelphi.com/Delph...mber+Prime.rar

Espero sea útil

Nelson.

Última edición por nlsgarcia fecha: 05-10-2013 a las 07:59:40.
Responder Con Cita