• Viernes 15 de Noviembre de 2024, 03:56

Autor Tema:  Necesito Ayuda  (Leído 1481 veces)

mrrr

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Necesito Ayuda
« en: Lunes 11 de Abril de 2005, 03:34 »
0
:)    Hola que tal!

Necesito hacer un programa que me lea los numeros del 1 al 100 pero que solo me imprima los numeros primos.

Lo puedo hacer solo con funciones o con procedimientos, pero con ninguno de los dos me corre.

¿Que puedo hacer?

Gracias por su ayuda de antemano.

Enko

  • Miembro de PLATA
  • *****
  • Mensajes: 1562
  • Nacionalidad: 00
    • Ver Perfil
Re: Necesito Ayuda
« Respuesta #1 en: Lunes 11 de Abril de 2005, 13:48 »
0
Aqui esta el codigo de saber si un numero es primo
Código: Text
  1.  
  2. {verifica si es divisible por}
  3. function esDivisible(const X,n : Integer): Boolean;
  4. begin
  5.   Result := False;
  6.   if X mod n = 0 then Result := True;
  7. end;
  8.  
  9. {verifica si el numero es primo}
  10. function esPrimo(const X: Integer): Boolean;
  11. var
  12.   i: integer;
  13. begin
  14.   Result := True;
  15.   for i:=2 to X-1 do
  16.   begin
  17.     if esDivisible(X,i) then Result := False;
  18.     Exit;
  19.   end;
  20. end;
  21.  
  22.  
Tendras que leer el numero y comprobar si es divisible, si lo es, lo imprimes sino, no haces nada. :hola:

mrrr

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Necesito Ayuda
« Respuesta #2 en: Lunes 25 de Abril de 2005, 06:12 »
0
:D muchas gracias por tu ayuda, la maestra me dijo otra forma de hacerlo, pero con la tuya se me hace que es mas facil.
gacias. ;)

Enko

  • Miembro de PLATA
  • *****
  • Mensajes: 1562
  • Nacionalidad: 00
    • Ver Perfil
Re: Necesito Ayuda
« Respuesta #3 en: Lunes 25 de Abril de 2005, 23:42 »
0
Citar
muchas gracias por tu ayuda, la maestra me dijo otra forma de hacerlo, pero con la tuya se me hace que es mas facil.
De nada. Estaría bueno que postearas la respuesta que te dio tu maestra porque la verdad, es que la mia es muy lenta, prueba todas las posibilidades. Es decir, un numero primo solo es primo si es divisible por el 1 y si mismo. Por eso, en el codigo recorro desde el uno hasta el Numero-1, si en algun momento, el resto es cero quiere decir que no es primo. Como observas, es muuuuuuuuy lento, no hay problama con el 5 pero que pasa cuando es 12358497462 por ej.