Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 05-10-2013
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 23
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
XavierAramayo,,

Continuación del Msg #2:

Cita:
Empezado por Wikipedia:

En matemáticas, un número primo es un número natural mayor que 1 que tiene únicamente dos divisores distintos: él mismo y el 1. Los números primos se contraponen así a los compuestos, que son aquellos que tienen algún divisor natural aparte de sí mismos y del 1. El número 1, por convenio, no se considera ni primo ni compuesto.

Tomado de: http://es.wikipedia.org/wiki/N%C3%BAmero_primo
En función de la definición anterior, el código del Msg #2 se redefine a continuación:
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;
    Label1: TLabel;
    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

   NumberPrime := TStringList.Create;
   c := 0;
   n := 2;

   repeat

      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);

   until (c = Limit);

   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 desde el 2 hasta un máximo definido como parámetro en la función generatriz, como se muestra en la siguiente imagen:



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

Espero sea útil

Nelson.

Última edición por nlsgarcia fecha: 05-10-2013 a las 18:36:13.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
11 millones de números primos ixMike La Taberna 15 06-10-2013 00:00:37
Suma de dígitos primos - Simplificar código Subliminalz Varios 3 12-06-2013 00:00:22
Ayuda con numeros primos Jcn Varios 4 28-05-2013 01:39:20
Como obtengo numeros primos ? llSnakell Varios 13 05-10-2011 03:56:09
Promedio.. digitos primos .. luisito2011 Varios 3 07-05-2011 02:54:02


La franja horaria es GMT +2. Ahora son las 23:10:58.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi