elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 23:37  


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General (Moderador: Littlehorse)
| | |-+  Verdad que es imposible el algoritmo numero primo sin usar ciclos, ni funciones.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Verdad que es imposible el algoritmo numero primo sin usar ciclos, ni funciones.  (Leído 1,923 veces)
Aikanáro Anário


Desconectado Desconectado

Mensajes: 626



Ver Perfil WWW
Verdad que es imposible el algoritmo numero primo sin usar ciclos, ni funciones.
« en: 23 Julio 2011, 19:15 »

Ya para mi era imposible sin ciclos, pero alguien me explicó que con las funciones recursivas sí se puede.

El caso es que debería de hacerlo solo con decisiones.


En línea

Lo que faltaba en internet: http://binar10s.blogspot.com/
$Edu$


Desconectado Desconectado

Mensajes: 1.413



Ver Perfil
Re: Verdad que es imposible el algoritmo numero primo sin usar ciclos, ni funciones.
« Respuesta #1 en: 23 Julio 2011, 19:25 »

Al usar funciones recursivas no estas usando funciones? xD

Hablas del algoritmo de saber si es primo o no, o de mostrar los numeros primos hasta n numero?


En línea

Estado en el MSN:
pucheto

Desconectado Desconectado

Mensajes: 214


Ver Perfil
Re: Verdad que es imposible el algoritmo numero primo sin usar ciclos, ni funciones.
« Respuesta #2 en: 23 Julio 2011, 21:28 »

Los ciclos y la recursion son equivalentes.
En línea
Aikanáro Anário


Desconectado Desconectado

Mensajes: 626



Ver Perfil WWW
Re: Verdad que es imposible el algoritmo numero primo sin usar ciclos, ni funciones.
« Respuesta #3 en: 24 Julio 2011, 01:13 »

Al usar funciones recursivas no estas usando funciones? xD

Hablas del algoritmo de saber si es primo o no, o de mostrar los numeros primos hasta n numero?

Es que dado un numero, diga si es primo o no.

Yo diría que una función recursiva no es en sí un ciclo, o sea porque no es un for, ni un while, ni un do...while, pero sí es un ciclo, o sea sí, pero no.

El caso es que creo no se puede hacer un algoritmo así, solo con decisiones, o si se puede hacer, pero solo hasta determinado número.
En línea

Lo que faltaba en internet: http://binar10s.blogspot.com/
pucheto

Desconectado Desconectado

Mensajes: 214


Ver Perfil
Re: Verdad que es imposible el algoritmo numero primo sin usar ciclos, ni funciones.
« Respuesta #4 en: 24 Julio 2011, 01:35 »

Ya lo dije, podes escribir cualquier ciclo, como una funcion recursiva, y cualquier funcion recursiva, como un ciclo. Y se puede demostrar y es facil de demostrar.
En línea
Khronos14

Desconectado Desconectado

Mensajes: 285


A lie is a lie


Ver Perfil WWW
Re: Verdad que es imposible el algoritmo numero primo sin usar ciclos, ni funciones.
« Respuesta #5 en: 24 Julio 2011, 02:02 »

Aikanáro Anário, cuando el código se traduce a ensamblador todos los bucles/ciclos se convierten en saltos (tipo goto). Así que técnicamente una función recursiva es un bucle.

Saludos.
En línea

ukol

Desconectado Desconectado

Mensajes: 31


Ver Perfil
Re: Verdad que es imposible el algoritmo numero primo sin usar ciclos, ni funciones.
« Respuesta #6 en: 24 Julio 2011, 21:54 »

Aikanáro Anário, cuando el código se traduce a ensamblador todos los bucles/ciclos se convierten en saltos (tipo goto). Así que técnicamente una función recursiva es un bucle.
Los ciclos y la recursion son equivalentes.
Ya lo dije, podes escribir cualquier ciclo, como una funcion recursiva, y cualquier funcion recursiva, como un ciclo. Y se puede demostrar y es facil de demostrar.

No creo que esto sea así, más bien diría que todo ciclo puede hacerse con recursión  pero no al revés. A no ser que uses estructuras de datos recursivas como una pila.

De hecho si eso fuera cierto podría utilizarse CTO(Call tail optimization) siempre, que es covertir una llamada recursiva en un salto goto, o sea un ciclo. O sea que interesaría convertir toda llamada recursiva en un ciclo ya que este no consume espacio en pila y es más eficiente.

Es que dado un numero, diga si es primo o no.

Yo diría que una función recursiva no es en sí un ciclo, o sea porque no es un for, ni un while, ni un do...while, pero sí es un ciclo, o sea sí, pero no.

El caso es que creo no se puede hacer un algoritmo así, solo con decisiones, o si se puede hacer, pero solo hasta determinado número.

Utiliza una función que diga si un numero es divisible por alguno de los anteriores a otro numero,
Código:
divisible(x, num) = mod(x,num) == 0 || divisible(x, num-1)
primo(x) = no(divisible(x,x-1))
Dejo como ejercicio la condición de parada
En línea
[Case]


Desconectado Desconectado

Mensajes: 385



Ver Perfil WWW
Re: Verdad que es imposible el algoritmo numero primo sin usar ciclos, ni funciones.
« Respuesta #7 en: 24 Julio 2011, 21:57 »

No creo que esto sea así, más bien diría que todo ciclo puede hacerse con recursión  pero no al revés. A no ser que uses estructuras de datos recursivas como una pila.

De hecho si eso fuera cierto podría utilizarse CTO(Call tail optimization) siempre, que es covertir una llamada recursiva en un salto goto, o sea un ciclo. O sea que interesaría convertir toda llamada recursiva en un ciclo ya que este no consume espacio en pila y es más eficiente.

Si es asi, es algo que esta demostrado, toda recursion se puede pasar a un ciclo, y todo ciclo se puede pasar a una recursion.
En línea
ukol

Desconectado Desconectado

Mensajes: 31


Ver Perfil
Re: Verdad que es imposible el algoritmo numero primo sin usar ciclos, ni funciones.
« Respuesta #8 en: 24 Julio 2011, 21:59 »

Si es asi, es algo que esta demostrado, toda recursion se puede pasar a un ciclo, y todo ciclo se puede pasar a una recursion.
Por favor citad las fuentes, para lo de la demostración.
En línea
pucheto

Desconectado Desconectado

Mensajes: 214


Ver Perfil
Re: Verdad que es imposible el algoritmo numero primo sin usar ciclos, ni funciones.
« Respuesta #9 en: 24 Julio 2011, 22:23 »

No creo que esto sea así, más bien diría que todo ciclo puede hacerse con recursión  pero no al revés. A no ser que uses estructuras de datos recursivas como una pila.
Ahi te respondiste a vos mismo, usando una pila y listo.
En línea
Ragnarok
Colaborador
***
Desconectado Desconectado

Mensajes: 4.561


Shrödingerificado


Ver Perfil
Re: Verdad que es imposible el algoritmo numero primo sin usar ciclos, ni funciones.
« Respuesta #10 en: 31 Julio 2011, 16:05 »

La máquina de Turing puede hacer cualquier cosa. ¿Tiene ciclos o funciones? Yo diría que no.

Lo único que hace falta es salto condicional.
En línea

No olvidéis leer las normas generales, además de las específicas de cada tablón.sgae, ladrones
someRandomCode

Desconectado Desconectado

Mensajes: 40


Ver Perfil
Re: Verdad que es imposible el algoritmo numero primo sin usar ciclos, ni funciones.
« Respuesta #11 en: 20 Agosto 2011, 01:12 »

Es que caemos en lo mismo, un salto condicional hacia arriba que vuelve a repetirse, es un ciclo/bucle.

Porque? imaginense esto
Direccion            Codigo
000001              mov eax,5
000005              add eax,eax
000007              jnz 1

Esto es equivalente a:
for (int x=5;x==0;x++);

Y si quieren encapsularlo en una funcion recursiva, lo mismo, bueno, parecido, agrega un poco de codigo pero el concepto se queda en lo mismo.
Si por ejemplo con gcc/g++ le agregan un -funroll-all-loops para que trate de transformar los ciclos en algo lineal, van a ver que igual cosas como estas se repiten.

Si tenemos una funcion que es recursiva pasa lo mismo, salvo por, bueno, lo que implica como el paso de funciones y de mas, pero en si, la funcion esta siempre en el mismo lugar.

Aun con algunas formas de lenguajes orientados a objetos donde el sistema carga para dos objetos de la misma clase una sola vez la funcion se repite esto. Digo en algunos, porque no se en todos, pero en C++ si pasa, y se pueden fijar mirando el address de un puntero a funcion en dos funciones en dos objetos distintos del mismo tipo.

Me voy a sacar las ganas de preguntarlo en la facu, pero el debate esta bueno, y esta bueno ver sus opiniones, este foro da gusto cuando es asi :)
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines