Autor |
Mensaje |
Ivi
Nivel 3
Registrado: 28 Nov 2007
Mensajes: 41
Carrera: Informática
|
|
Jak escribió:
|
En el cuarto habia q hacerlo de forma iterativa (con for, while o repeat) y habia q validar q el numero fuera entero y positivo (entero tmb, ojo!) y, lo mas importante, habia q hacerlo en la menor cantidad de pasos posibles. O sea, hacerlo con un for desde 2 hasta N-1 estaba mal, por ejemplo. CHAOAS.
|
y si lo hago con un
"for i:=2 to (n mod 2) do
begin
end"
?? son menos pasos, asi seria? o hay otra manera q hace muchos menos pasos?
\MOD (4WD): Separado de aquí.
|
|
|
|
|
|
|
|
|
Ivi
Nivel 3
Registrado: 28 Nov 2007
Mensajes: 41
Carrera: Informática
|
|
la consigan de lo anterior decia esto:
4) Programa que diga si un numero es primo o no (el q me paso el final no se acuerda si te lo pedia recursivo o no)
|
|
|
|
|
|
|
|
|
ralfonso
Nivel 4
Edad: 36
Registrado: 26 Abr 2010
Mensajes: 83
Ubicación: theta = 1.67532289pi, phi = 0.692057055pi, rho = 34
Carrera: Informática
|
|
Lo que vos querés es un algoritmo para lo que se llama un "Test de Primalidad".
Para ahorrarte pasos y hacer que el algoritmo determine la primalidad de un número en el menor número posible de iteraciones, tenés varías mejoras posibles para hacer.
Un optimización posible si querés ver si N es primo, en ves de iterar de 2 a N, podés iterar de 2 a raíz(N). Esto pasa porque si N es compuesto por al menos 2 factores primos, al menos uno de ellos tiene que ser menor o igual a la raíz(N).
Hay muchas más, la que te dije es la más fácil, pero obviamente con mayores conocimientos de Teoría de Números podrás optimizar más.
Te dejo un artículo de wikipedia al respecto:
WIKI: Test de Primalidad
(Si te sentís cómodo con el inglish te recomiendo que leas la versión en inglés, está bastante más completa y es más clara en los conceptos.
Espero que ya no lo necesités!, veo que el thread es viejo pero por si alguien cae acá buscando lo mismo!
|
|
|
|
|
|
|
|
|
|
|
Ver tema siguiente
Ver tema anterior
Podés publicar nuevos temas en este foro No podés responder a temas en este foro No podés editar tus mensajes en este foro No podés borrar tus mensajes en este foro No podés votar en encuestas en este foro No Podéspostear archivos en este foro No Podés bajar archivos de este foro
|
Todas las horas son ART, ARST (GMT - 3, GMT - 2 Horas)
Protected by CBACK CrackerTracker365 Attacks blocked.
|
|
[ Tiempo: 0.2885s ][ Pedidos: 20 (0.2286s) ] |