La Conjetura de Collatz también conocida como conjetura del 3n + 1, es un problema matemático donde se utiliza un número entero positivo:
- Si el número es Par, se divide entre 2.
- Si el numero es Impar, se multiplica por 3 y se le suma 1.
Y asi sucesivamente hasta llegar a 1.
Conociendo esto tenemos que:
- Si n es igual a 1:
- Detener.
- Mientras n no sea igual a 1:
- Checar si es par.
- Si es par:
- Dividir entre 2.
- Si no es par:
- Multiplicar por 3 y sumar 1.
Con lo cual podemos crear nuestra Clase en Actionscript 3:
Código :
package Classes { public class CC { private var output:Array; public function solve(n:int):Array { output = new Array(); if(n == 1) { n = 1; } while(n != 1) { if(n % 2 == 0) { n = n / 2; } else { n = 3 * n + 1; } output.push(n); } return output; } } }
Donde output, es el Array o Matriz donde se van guardando los números.
Nota: El Input admite cuantos números desees, es a tu conciencia el colocar cantidades muy elevadas, ya que Flash Player puede llegar a trabarse o generar un error donde se indica que el Script no puede ejecutarse por el tiempo necesario para resolver ese número. Se recomiendan cantidades menores a 8 digitos.
Este es el ejemplo:
¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.
JaLeRu :
Freddie :
JaLeRu :
Si lo leí. Pero de que sirve?
Carloz.Yanez :
Código :
Oye, ese código no tiene en cuenta le 0.
Te mete en un bucle infinito, deberías corregirlo.
Bleend :
Por Raul el 18 de Octubre de 2007
Raul_blog :
Por Lord Zorel el 20 de Octubre de 2007
bueno a me no me funciona, me aparece un borde parpadeante al final (como que abre un frame y lo cierra)
no se por que es?
tengo el flash 8 instalado en el pc y el plugin para ver flash, la version 9
Por Ricardo el 05 de Noviembre de 2007
Por gustavz el 02 de Diciembre de 2007
yo uso safari y me paso lo mismo
Por yo el 14 de Septiembre de 2008
deberias corregir eso
Por fermat el 18 de Septiembre de 2008
Por Fernando el 06 de Mayo de 2010
Otra forma es unirte a uno de los proyectos BOINC, Collatz Conjeture, donde hay algoritmos más potentes que los de mathematica 7, y participan miles de computadores de todo el mundo.