Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Oh! Bill Gates pillado metiendole mano a la Paris Hilton...

Iniciado por matriax, 14 de Diciembre de 2007, 06:55:54 PM

« anterior - próximo »

matriax

CitarAhí no estás multiplicando los números tio. Solo viendo cuantas variaciones sin repetición de 2 elementos hay. Sí es eso, es una chorrada de fácil. Lo otro tenía más tema.

Lo que me interesa es saber de que forma puedo sacar la mayor cantidad de numeros diferentes con 2 incognitas, siendo cada una de ellas de entre 0-255

Y tambien me interesa las diferentes formas, como puede ser la multiplicacion de esos 2 incognitas o cualquier otra.

Cuando escribi el priemr menasje supuse que la meor forma seria multiplicando pero tal vez no sea asi....
Pagina Oficial: http://www.taykron.com
Flash Portal : http://www.arkatia.com
Blog Personal : http://matriax.blogspot.com/

Loover

Ya me estás liando. Sino pones un ejemplo o te expresas de manera matemática no vamos a ningún lado. ¿Es o no es lo que yo he dicho?

EDIT:
Si te refieres a esta chorrada: http://descartes.cnice.mecd.es/materiales_didacticos/Combinatoria/variacionessin.htm

Me pego un tiro, xD.
IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
Indie Rover The monkeys are reading!

matriax

CitarYa me estás liando. Sino pones un ejemplo o te expresas de manera matemática no vamos a ningún lado. ¿Es o no es lo que yo he dicho?

XDDDD

Loover, si con esas dos incognitas usas la operacion de multiplicar para sacar la mayor cantidad de numeros diferentes, si, es lo que tu dices y me interesa.

Pero si hubiera otra manera de sacar mas numeros diferentes con esa condicion pues me interesa tambien.
Pagina Oficial: http://www.taykron.com
Flash Portal : http://www.arkatia.com
Blog Personal : http://matriax.blogspot.com/

Loover

A ver, yo he resuelto (creo) esto:

"Hallar cuantos números diferentes se obtienen multiplicando todas las posibles parejas de números comprendidos entre (0 y 255) ambos inclusive".

Si es eso, guay. Y se resuelve con un algoritmo iterativo que calcule el n-ésimo término (creo).

Aunque no soy buen matemático, igual hay otra solución posible. No sé.
IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
Indie Rover The monkeys are reading!

matriax

Bueno loover ya le he contestado por MSN y esta todo +o- claro XD

En fin hasta ahora tenemos:

Maximos numeros diferentes no consecutivos:
65536, comprendidos entre el 0 y 255255 (Usando coordenadas tipo 0.0)

Faltaria saber mediante multiplicacion como el ejemplo de loover cuantos numeros diferentes saldrian.

Maximos numeros diferentes consecutivos
25599, 0-25599 usando el metodo arriba mencionado(Esto habria que saber si es cierto yo creo que si pero...)

Y bueno si hubiera alguna otra forma de conseguir mas numeros diferentes con esa condicion pues bienvenida sea!
Pagina Oficial: http://www.taykron.com
Flash Portal : http://www.arkatia.com
Blog Personal : http://matriax.blogspot.com/

RobiHm

buf, tienes cientos de operadores/funciones matemáticas en los que poder involucrarlos,
si apartamos las funciones matemáticas el exponente "creo" es el que mayor rango de resultados suele dar
Web : Indómita
Blog : MiBlog
Evobas : Evobas
Kobox : Kobox

Pogacha

Perdon, pero con 16 bits puedes como máximo fuera de toda duda razonable sacar 65536 combinaciones posibles.
Y la mejor técnica es el sistema posicional arabe la cual es un estandart desde hace siglos, con cualquier otra técnica no biunivoca tendrás un resultado menor de combinaciones (preguntales a los romanos si no me crees).

Si dices cual es el primer numero y cual es el segundo basta decir X*256 + Y y tienes todo el rango de 0 a 65535 inclusives, usualmente se escribe [0, 65535].
Puedes hacer cualquier operación matematica que quieras que sea biunivoca para el rango de valores de A[0,255] y B[0, 255].

Una función es biunivoca dentro de un rango de sus parametros cuando para cada unico juego de parametros le corresponde una unica solución (por definición de función) y cada unica solución solo puede ser formada por un solo juego de parametros.

Ejemplos:  
y = c * x con c != 0 -> biyectiva = biunivoca en la totalidad del rango de x

y = x ^ 2 -> biunivoca para los rangos de x (-inf,0] y [0, inf)

Saludos!

matriax

OKs, Gracias Pogacha!!! :)

Entonces me queda por saber, mediante la multiplicacion(como el ejemplo de loover) cuantos numeros diferentes saldrian.

Y si habria alguna forma de sacar mas numeros diferentes consecutivos que del 0-25599 mediante la forma ya explicada.
Pagina Oficial: http://www.taykron.com
Flash Portal : http://www.arkatia.com
Blog Personal : http://matriax.blogspot.com/

Pogacha

Cita de: "matriax"Entonces me queda por saber, mediante la multiplicacion(como el ejemplo de loover) cuantos numeros diferentes saldrian.
No estoy seguro de que se pueda encontrar de manera matematica para un numero X, pues dependera de la cantidad de numeros primos que hay hasta X y cuantos de estos numeros primos pueden replicar en un numero  dentro del rango.

Esto esta en ANSI C para cualquier compilador de 32 bits en modo consola.

#include <stdio.h>
int main()
{
unsigned int i,j,c;
char r[256*256];
for(i=0; i<256*256; ++i) r[i]=0;
for(i=0; i<255; ++i) for(j=i+1; j<255; ++j) r[j*i]=1;
c=0;
for(i=0; i<256*256; ++i) if(r[i]!=0) c++;
printf("La maxima combinacion es: %d", c);
getch();
}


CitarY si habria alguna forma de sacar mas numeros diferentes consecutivos que del 0-25599 mediante la forma ya explicada.

No estoy seguro en realidad de a que te refieres.
Haciendo A* 256 + B  te da numeros consecutivos del 0 al 65535
Saludos!

Loover

Para la multiplicación, es más rápido resolver la sucesión que ya puse, ¿no?

Y cambia ya el nombre del post, ¿no matriax? :D
IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
Indie Rover The monkeys are reading!

Martinez

Espero ser de ayuda. En cuanto a sucesion que puso loover si hay una formula. Basandome en el link que puso de la wikipedia he cambiado la formula de fibonacci (o como se escriba).

Si cambiamos la sucesion de loover por esta 0,2,2,4,6,10,16.... fijaros:

0,1,1,2,3,5,8..
0,2,2,4,6,10,16...

Basta con multiplicar por 2 la funcion explicita de fibonacci.

Donde la letra rara es:


Asi el rango [0,5] seria F6= 16.
El rango [0,6] -> f7=26

Bye

Pogacha

Pensado un poco mas.
Sean X y Y dos numeros enteros del rango [1,N] puedes encontrar numeros consecutivos por medio de multiplicación de ambos tan solo hasta el primer primo > N = O.
O no podra ser formado por multiplicación de ningún par X, Y ya que O es primo :P.

En tu caso 257 ya no puede ser formado por ningún par de numeros y ahí se te acabó tu consecutividad.

senior wapo

( (X*X) - X)/ 2 ) + X

Tienes una matriz simétrica (2 triángulos uno con contenido "espejo" del otro).

Quitas la diagonal, que es compartida por ambas mitades, divides entre dos para quedarte con una mitad y añades de nuevo la diagonal.

Si no quitas primero la diagonal tendrías que sumar X/2 luego.

EDITO: No había leido todo el hilo, no te sirve. No quieres quitar solo repetir 3x2 (6)  con 2x3 (6) , también quieres quitar 6x1 (6).

Problema distinto :p

matriax

Hola, la solucion es hacer lo que dice loover.

Y creo que Martinez puede tener razon en el planteamiento que ha dicho.

Pero no entiendo las operaciones a seguir para sacar lo que el dice ¿Las podrias explicar?

Por lo que veo con 0-5 te salen las mismas que a Loover y el planteamiento creo que es el correcto.

Asi el rango [0,5] seria F6= 16.
El rango [0,6] -> f7=26

COmo hacer para sacarlo? es que no lo entiendo muy bien. Hago lo que dices y en el priemr caso me sale 1,6 y en el otro con rango 0-6 me sale 1,7 XD.
Pagina Oficial: http://www.taykron.com
Flash Portal : http://www.arkatia.com
Blog Personal : http://matriax.blogspot.com/

senior wapo

Yo te respondia a otro problema luego te lo explico porque ahora mismo apago y salgo de casa.

Si lo que preguntas es lo que yo creo, estas pidiendo saber cuantos números primos hay entre 0 y X*X, consulta una tabla, que las hay en internet.

Para saber cuantos primos hay entre X y J*J, por ejemplo, entre 11 y 256*256, solo tienes que restarle a los primos en (0,256*256) los primos hasta 11, (0,11)

Luego lo leo con más calma que no puede ser algo tan simple lo que pides.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.