Pascal/Turbo Pascal - numeros primos

 
Vista:

numeros primos

Publicado por marinero (2 intervenciones) el 12/01/2003 07:39:27
Por favor....necesito urgentemente un programita que me diga si un numero es primo o no.Mis conocimientos son minimos.Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:numeros primos

Publicado por Hisashi (4 intervenciones) el 12/01/2003 20:55:12
Esta es una de las soluciones a tu problema. si tienen alguna duda enviala a mi correo. ;) buen suerte
Uses Crt, Dos;
Const
PrimerPrimo=2;
Maximo=1000;
Var
Criba: Packed Array[PrimerPrimo..Maximo] Of Boolean;
Deja, Intervalo, Factor, Multiplo: 0..Maximo;
Begin ClrScr;
Read(Intervalo);
For Factor:= PrimerPrimo To Intervalo Do
Criba[Factor]:= True;
Deja:= Intervalo - PrimerPrimo +1;
Factor:= PrimerPrimo -1;
Repeat
Factor:= Factor +1;
If Criba[Factor] Then
Begin
Delay(65535);
Delay(65535);
WriteLn(Factor);
Multiplo:= 1;
While Factor * Multiplo <= Intervalo
Do Begin
If Criba[Factor * Multiplo] Then
Begin
Criba[Factor * Multiplo] := False;
Deja:= Deja-1
End;
Multiplo:= Multiplo+1;
End;
End;
Until Deja = 0;
End.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:numeros primos

Publicado por Alvaro (1 intervención) el 19/01/2003 16:24:51
Uses Crt, Dos;

Var
contador,comienzo: integer;
primo:real;

Begin
clrscr();
gotoxy(2,2); write('Cantidad de Nº primos: "); readln(comienzo);

for contador:=2 to comienzo do
begin
if frac(contador/2) <> 0
begin
writeln("Nº",contador);
end;
end;

end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:numeros primos

Publicado por César Augusto Navarro Gómez (182 intervenciones) el 13/01/2003 16:52:52
Creo que la manera más sencilla sería:

Program primos;

Uses
Crt;

Var
Num,Aux:integer;
Primo:boolean;
Resp:char;
begin
repeat
write('Teclea un número: ');
readln(Num);
Aux:=1;
Primo:=true;
Repeat
Aux:=Aux+1; { Incrementa el divisor }
If Num Mod Aux = 0 { Si es divisible el numero }
Then Primo:=False; { Entonces no es primo }
Until (Aux=Primo-1) or(Not Primo);
if Primo { si es un numero primo }
Then Write('El número es primo') { Entonces escribe que es primo }
Else Write('El número no es primo'); { Si no escribe que no es }
Write('Desea introducir otro número[S/N]: ');
Resp:=upcase(Readkey);
until Resp='N';
end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar