Sorry :oops:
Bueno ahora que creo que he captado vuestra atencion, a ver si me podeis aclarar unas cosillas XDDD
Cuantos numeros como maximo puedo sacar multiplicando 2 numeros comprendidos entre 0 y 255?
Me refiero, en 1 bytes(8bits) puedo meter 256 caracteres diferentes a los que le asigno un numero.
Bien, pues multiplicando "X por X" cual es la mayor cantidad de numeros que puedo sacar? Tanto seguidos tipo del 0alX como numeros cualesquiera.
Vamos usando 2bytes(16bits) y siendo cada uno, un numero comprendido del 0 al 255.
Yo he conseguido sacar los numeros seguidos del 0 al 25599. Para ello utilizo toda la primera "X"(del 0 a 255) y de la otra "X" sacrifico 1 numero y que llegue solo al 99, de esta forma con "XX" podria mostrar los primeros 25599 numeros seguidos, si no es que meto la pata en algun lado (Yo es que no soy ni de numeros ni de letras, yo soy de pixels XD)
La meta es sacar con dos "X" la mayor cantidad de numeros diferentes. SI hay alguna formula y demas estaria bien conocerla...
Saludos.
La pregunta me parece tan absurda que seguramente no es ésto lo que quieres preguntar, pero por si acaso:
CitarCuantos numeros como maximo puedo sacar multiplicando 2 numeros comprendidos entre 0 y 255?
Respuesta: 256*256, es decir, 65536
JAJAJJA no XDDDD,
Son numeros diferentes, y tanto 2x1 como 1x2 es el mismo resutlado, tanto 54x25 como 25x54 es lo mismo....
255x255 son 65536 y te salen las diferentes combinaciones posibles, pero no los diferentes numeros posibles :) .
Si es numérico lo que dice tewe76.
Si los quieres tratar como chars y en cada byte almacenas un numero entonces "99".
Aunque tampoco entiendo muy bien la pregunta, jejeje.
Edit: Acabo de leer tu mensaje (Matrix), entonce es en números.
Supongo que dependera de la operación, haz un random y según el resultado aplica una operación (suma, resta, division, multiplicación,etc...), y bueno si aplicas la resta el número de posibilidades se amplía.
Un saludo.
misscelan, olvidate de char o cosas asi de programacion no va por ese camino.
Si te diran 2 digitos "X" y "y" Pudiendo ser cada uno un numero comprendido entre 0 y 255.
¿Cuantos numeros diferentes podrias conseguir? yo de la forma que he comentado podria conseguir 25599 y encima seguidos.
La cuestion es aqunque no fueran seguidos y fueran aleatorios, cuantos serian los maximos ¿?
Citary bueno si aplicas la resta el número de posibilidades se amplía.
Ah se me olvidaba! siendo siempre la misma operacion! ya sea resta, multiplicacion o lo que sea, ya sea operacion o metodo(Como el que he puesto para ascar 25599), etc...
He editado mi post, lee arriba a ver si te sirve. Vaya cristo!!!
Un saludo.
SI cada X es un digito esta claro que 99 jeje, lo que pasa es que en cada X puedes meter hasta el numero 255, por ejemplo puedes formar numeros del 01 al 255255 no se si me explico XD pero no seguidos, por lo que no son 255255 numeros diferentes....
Lo que creo Matriax se refiere es a esto.
Ejemplo:
¿Cuántos números diferentes se pueden obtener multiplicando dos números tomados de un ragon de 0 a 2?
0 x 0 = 0
0 x 1 = 0
0 x 2 = 0
1 x 0 = 0
1 x 1 = 1
1 x 2 = 2
2 x 0 = 0
2 x 1 = 2
2 x 2 = 4
Números diferentes obtenidos: {0, 1, 2, 4} En total: 4
¿Es esto, Matriax? Responde, y si es esto, lo pienso un poco más.
De nuevo, vaya cristo con los edits, supongo que el máximo es 256 elevado a 256 y el mínimo elevado a -256 osea una burrada.
Edit: No me hagas caso acabo de leer otro edit tuyo, esto son sólo las posibilidades
Un saludo
CitarLo que creo Matriax se refiere es a esto.
Ejemplo:
¿Cuántos números diferentes se pueden obtener multiplicando dos números tomados de un ragon de 0 a 2?
0 x 0 = 0
0 x 1 = 0
0 x 2 = 0
1 x 0 = 0
1 x 1 = 1
1 x 2 = 2
2 x 0 = 0
2 x 1 = 2
2 x 2 = 4
Números diferentes obtenidos: {0, 1, 2, 4} En total: 4
¿Es esto, Matriax?
MINIPUTNO PARA LOOVER!!! XDDDD
Aunque en tu caso loover se podrian sacar muchos mas con otro metodo.
Por ejemplo si tenemos 2 "X" en un rango de 0-2 y nos ponemos ha hacer numeros podemos sacar:
00
01
10
11
02
20
22
12
21
Y asi saco 9 numeros diferentes :) ,
aunque ahora me he dado cuenta que son 65536 porque haciendo lo mismo llegariamos a 255255 con muchos numeros aleatorios, y lo maximo en numeros seguidos serian 25599 con el anterior metodo si no meto la pata :)Seria correcto ¿?
Edit:Entonces si no me equivoco serian:
Maximos numeros diferentes no consecutivos:
65536, comprendidos entre el 0 y 255255Maximos numeros diferentes consecutivos
25599, 0-25599 usando el metodo arriba mencionado.
Ok, sigamos con el ejemplo, ampliando el rango.
¿Cuántos números diferentes se pueden obtener multiplicando dos números tomados de un ragon de 0 a 5?
0 x 0 = 0
0 x 1 = 0
0 x 2 = 0
0 x 3 = 0
0 x 4 = 0
0 x 5 = 0
1 x 0 = 0
1 x 1 = 1
1 x 2 = 2
1 x 3 = 3
1 x 4 = 4
1 x 5 = 5
2 x 0 = 0
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10
3 x 0 = 0
3 x 1 = 3
3 x 2 = 6
3 x 3 = 9
3 x 4 = 12
3 x 5 = 15
4 x 0 = 0
4 x 1 = 4
4 x 2 = 8
4 x 3 = 12
4 x 4 = 16
4 x 5 = 20
5 x 0 = 0
5 x 1 = 5
5 x 2 = 10
5 x 3 = 15
5 x 4 = 20
5 x 5 = 25
Números totales obtenidos:
(0, 0) => {0} => 1
(0, 1) => {0, 1} => 2
(0, 2) => {0, 1, 2, 4} => 4
(0, 3) => {0, 1, 2, 4, 3, 6} => 6
(0, 4) => {0, 1, 2, 3, 4, 6, 8, 9, 12, 16} => 10
(0, 5) => {0, 1, 2, 3, 4, 5, 6, 8, 10, 9, 12, 15, 16, 20, 25} => 15 [EDITADO, estaba el 3 repetido antes]
[EDITADO => TODO ESTO MAL, SUSPENSO :D]
¿Ves la suceción?
Se van sumando los dos números anteriores, excepto en el primer caso. Parecido a la sucesión de Fibonacci http://es.wikipedia.org/wiki/Sucesi%C3%B3n_de_Fibonacci
¿Sigue siendo esto a lo que te refieres? Si es así se calcula de manera iterativa, vamos, necesitarias un programita que te lo hiciese.
Esa es mi aproximación al problema.
No sé si es esto a lo que te referías o si hay otras soluciones.
Un saludo!
Si, sigue siendo eso, con un rango de 0-5 en 2 digitos, obtienes 16 numeros diferentes.
Y en 255? :roll:
Mediante multiplicacion seria asi como tu dices.
CitarAunque en tu caso loover se podrian sacar muchos mas con otro metodo.
Por ejemplo si tenemos 2 "X" en un rango de 0-2 y nos ponemos ha hacer numeros podemos sacar:
00
01
10
11
02
20
22
12
21
Y asi saco 9 numeros diferentes
Ahí 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.
A ver si te explicas bien lo que quieres tio. Pon un ejemplo de [0, 2] con TODO.
Pero vamos, MULTIPLICANDO 2 números comprendidos entre ese rango, es lo que decía primero.
(256x256)-256 ?
El último 256 serían las parejas coincidentes, creo ... pero aviso que yo soy de letras xd.
CitarSi, sigue siendo eso, con un rango de 0-5 en 2 digitos, obtienes 16 numeros diferentes.
Y en 255? Rolling Eyes
Mediante multiplicacion seria asi como tu dices.
Vale, si es correcto que de [0, 5] => 16. Entonces, como he dicho, es una sucesión parecia a la de Fibonacci.
No existe una función para calcular el n-ésimo número de una función de Fibonacci. Por lo tanto tampoco existe para esta sucesión. Por lo que tienes que resolverlo de manera algorítmica (hacerte un programilla que vaya haciendo toda la sucesión hasta llegar a 255 y te devuelva el número). Es muy fácil.
Igual hay otro método. Este es el que yo haría. Si nadie encuentra una solución más rápida, yo te hago el programa en un plis.
Un saludo.
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....
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.
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.
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é.
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!
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
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!
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.
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!
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
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.
(http://upload.wikimedia.org/math/1/7/2/1725c4014413c474791dae0fb8f3b7e4.png)
Donde la letra rara es:
(http://upload.wikimedia.org/math/2/9/4/2945e3f774483f06d73f20f9d1bf094c.png)
Asi el rango [0,5] seria F6= 16.
El rango [0,6] -> f7=26
Bye
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.
( (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
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.
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.
Ya lo he leido con detenimiento.
En mi opinión la forma de calcularlo es necesariamente con el código que ha puesto Pogacha.
Si necesitas averiguar el número durante la ejecución del programa, entonces, el resultado lo almacenas previamente en un array y cuando te haga falta te limitas a consultar en la posición X*Y que valor hay guardado.
Se entiende que X e Y son los dos valores 0..255 que tienes.
La sucesión que pone loover para el 5 cuenta el número 3 dos veces, asi que el valor es 15 y no 16. Por tanto, no puedes usar la fórmula de martinez tal cual.
Mi fórmula solo te elimina los duplicados a causa de la propiedad conmutativa (2*3 = 3*2) y eso no es lo que buscas, asi que a ti no te servirá a partir del 6.
Por cierto, mi fórmula da 15 para el 5 no se de donde sacas que coincide con la sucesión de loover (16) :p
No creo que haya una fórmula para calcular directamente. Tendrás que tirar del código de pogacha.
¡Ja! Cierto, está el 3 repetido, vi una sucesión demasiado deprisa :P, suspenso pa mi.