¿Ayuda Pascal!!!!!!!!!!!!!!?
necesito hacer dos funciones simples... una que me genere números aleatorios puede ser con random y randomize y la otra que me evalue si el numero aleatorio que salio del random es primo o no.. para asignarlo a una variable no se pueden usar arreglos sino cosas sencillas...!! yo trabajo con Dev-Pascal
Comments
{no he trabajado en dev pascal. pero supongo q no debe variar mucho.}
function aleatorio (min, max: integer):integer;
begin
randomize;
{generaremos numeros entre los valores de min y max}
aleatorio:= random(max-min)+min
end;
{debemos recordar que para ver si un numero es primo, basta con buscar divisores hasta su raiz cuadrada}
function esPrimo (n: integer): boolean;
{devuelve verdadero si n es primo, caso contrario... falso}
var i:integer;
begin
esPrimo:=true;
for i:=2 to round(sqrt(n)) do
if (n mod i = 0) then
begin
esPrimo:=false;
break;
{si i es divisor, el numero no es primo y forzamos la salida del bucle con break;}
end;
end;
Program AleatorioPrimoCompuesto;
Uses Crt;
Var
x,Aum,Cont:Integer;
Begin
ClrScr;
HighVideo;
Cont:=0;
Aum:=0;
Randomize;
x:=Random(100);
Writeln('El número elegido fue ',x);
Repeat
Aum:=Aum+1;
If x mod Aum=0 then
Cont:=Cont+1;
Until
Aum=x;
If Cont=2 then
Writeln(X,' es primo')
else
Writeln(X,' no es primo');
Readkey;
end.