CientoSeis

Salón Recreativo => Otros juegos => Juegos de lógica => Mensaje iniciado por: Bill en 06 de Mayo de 2012, 23:50

Título: ¿Sabes matemáticas? ¡Demuéstralo!
Publicado por: Bill en 06 de Mayo de 2012, 23:50
Es muy sencillo, 3 pruebas de matemáticas, y a ver quién es capaz de razonar mayor número de ellas. Si se adivinan, puedo poner más.

Comencemos:

------------------------------------------------------------------------------------------------------------------------

1: Razona una serie de 345823 números compuestos consecutivos pertenecientes a N.

------------------------------------------------------------------------------------------------------------------------

2: La puerta trasera de las potencias. Supongamos una función f(n, c) sobre R, con n y c pertenecientes a N, de tal manera que la función f(n,c) nos devuelve las potencias del número n cogidas de c en c cifras y en la parte decimal. Por poner un ejemplo:
f(2,3) sería la potencia del número 2 cogida de 3 en 3 cifras =>
f(2,3) = 0.001002004008016032064128256513024...
Lo que he puesto en negrita es porque hay una solapación del número 1024 (que tiene 4 cifras en lugar de 3) con el número 512.
Otro ejemplo:
f(3,4) sería la potencia del número 3 codiga de 4 en 4 cifras =>
f(3,4) = 0.000100030009002700810243...

Calcular la fórmula matemática de f(n,c)
La fórmula debe de ser de cálculo simple, no series ni nada por el estilo, solamente usando los operadores más clásicos (suma, resta, multiplicación, división, potencia).

------------------------------------------------------------------------------------------------------------------------

3: Se tiene una baraja de n cartas de magic, todas ellas diferentes. Se mezclan usando el siguiente proceso, se dice un número k, entonces se cogen k cartas para un montón, y el resto para otro montón. Se saca una carta del primer montón a la mesa, luego otra del segundo montón, primer montón, segundo montón... así sucesivamente. Si algún montón se queda sin cartas se continúa con el otro.
Ejemplo, supongamos una baraja de 10 cartas, las llamaremos de A a J, y supongamos que k es 7:
Baraja inicial: [A, B, C, D, E, F, G, H, I, J]
Montón 1: [A, B, C, D, E, F, G]
Montón 2: [H, I, J]
Baraja final: [G, F, E, D, J, C, I, B, H, A]

Ahora queremos calcular la cantidad de veces que tendríamos que repetir el proceso de barajar (con el mismo número k) hasta que la baraja quede exactamente igual que la original.

En el caso del ejemplo, 10 cartas  con k=7, tendríamos que bajar 6 veces.

Se pide, calcular la cantidad de veces que tendríamos que barajar una baraja de 1342 cartas con k=632.
La respuesta debe ser razonada, no solamente calculada.



Título: Re:¿Sabes matemáticas? ¡Demuéstralo!
Publicado por: Ningüino CDR-lar en 08 de Mayo de 2012, 20:47
¿Esto qué es? ¿Un pique por el tema del talento? Igual soy idiota y no pillo el chiste, pero un serie de 345823 números me parece que no la cuentas ni tú.
Título: Re:¿Sabes matemáticas? ¡Demuéstralo!
Publicado por: Bill en 08 de Mayo de 2012, 20:56
No es ningún pique, son preguntas de matemáticas de verdad, y a cualquiera que le gusten las matemáticas recreativas, seguramente le gustarán. En ogame teníamos un hilo de pruebas matemáticas, y tenía bastante movimiento, y tenía pruebas de incluso más nivel (estas son de entre 3º BUP y 1º Carrera de una ingeniería), y no es que en ogame hubiese un "gran nivel".

En cuanto a lo de serie de 345823 número, si lees pone "consecutivos". Si son consecutivos, ¿para qué tendría que contarlos? Me llega con ver el primero.
Título: Re:¿Sabes matemáticas? ¡Demuéstralo!
Publicado por: Ningüino CDR-lar en 08 de Mayo de 2012, 21:32
Pues el primero ni idea. El segundo lo tengo claro, pero tengo que plantearme cómo se expresaría. El tercero no sé razonarlo, al menos a priori. Pero yo es que no sé mates.
Título: Re:¿Sabes matemáticas? ¡Demuéstralo!
Publicado por: Bill en 08 de Mayo de 2012, 21:59
Cita de: Yingüino en 08 de Mayo de 2012, 21:32
Pues el primero ni idea. El segundo lo tengo claro, pero tengo que plantearme cómo se expresaría. El tercero no sé razonarlo, al menos a priori. Pero yo es que no sé mates.

El tercero no es de matemáticas, realmente... es de lógica. Si tuvieses que analizarlo usando la matemática, seguramente la única rama posible sería conjuntos o estadística, pero solamente el concepto de permutación. Ni siquiera te hace falta conocer la fórmula de la permutación. La única fórmula utilizada para resolverlo es el mínimo común múltiplo.

El primero es simplemente teórico, de nuevo también el único conocimiento que hace falta a priori es el mínimo común múltiplo.

Te doy una pista, supongamos que en lugar de esa brutalidad, queremos solamente 5 números consecutivos, para eso lo más sencillo sería partir del número x, y sabemos que tenemos que hallar algo divisible entre 2, 3, 4, 5, 6, por ejemplo. Si mod es la operación módulo (la resta) buscamos algo tal que:

x + 2 mod 2 = 0
x + 3 mod 3 = 0
x + 4 mod 4 = 0
x + 5 mod 5 = 0
x + 6 mod 6 = 0

así que x debe ser divisible entre 2,3,4,5 y 6. Y ahí interviene el mínimo común múltiplo... 6 es 2*3 así que lo descartamos, 4 divisible entre 2, descartamos, queda 4*5*3 = 60
y vemos que efectivamente 62, 63, 64, 65 y 66 son compuestos.
Pero así habríamos calculado el menor de todos, pero no se busca el menor, así que no hace falta el mcm... ¿qué queda entonces? ;)
Título: Re:¿Sabes matemáticas? ¡Demuéstralo!
Publicado por: Sandman en 08 de Mayo de 2012, 22:53
Pelu, no te desanimes, yo aprecio tu esfuerzo xD

No me gustan mucho las matemáticas, pero si encuentro un rato lo intento.
Título: Re:¿Sabes matemáticas? ¡Demuéstralo!
Publicado por: Bill en 09 de Mayo de 2012, 21:15
¿A nadie se le ocurre ninguno? ¿Hacen falta más pistas?
Título: Re:¿Sabes matemáticas? ¡Demuéstralo!
Publicado por: Bill en 12 de Mayo de 2012, 15:48
Pues nada, resolviendo el primero:

Algo más arriba lo resolví, pero hacía falta el mínimo común múltiplo, así que era complicado. Pero ya dije que no buscaba la menor de las secuencias, sino al menos una. Recupero el ejemplo que puse:

Citarx + 2 mod 2 = 0
x + 3 mod 3 = 0
x + 4 mod 4 = 0
x + 5 mod 5 = 0
x + 6 mod 6 = 0

así que x debe ser divisible entre 2,3,4,5 y 6. Y ahí interviene el mínimo común múltiplo... 6 es 2*3 así que lo descartamos, 4 divisible entre 2, descartamos, queda 4*5*3 = 60

Pero queremos que no sea complicado, sino genérico... así que no hagamos el mínimo común múltiplo, así que nos quedaríamos con el factorial.
En ese ejemplo buscábamos 5 números compuestos consecutivos, y veíamos que entonces tendría que ser divisible entre 2, 3, 4, 5 y 6... y resulta que 6! es 2*3*4*5*6 y por todos ellos. Pero las ecuaciones están construídas comenzando por x+2, así que el resultado final es:

Para todo número x, si queremos calcular x números compuestos consecutivos, la fórmula es:
x!+2

Contestando a la pregunta concreta, que busca 345823 números compuestos consecutivos, la respuesta sería
345823! +2



=====================================================================
El segundo:

Si el número de la potencia es n, y el número de cifras es c, entonces estaríamos calculando:

x = (n^0/10^c) + (n^1/10^2c) + (n^2/10^3c) + (n^3/10^4c) + ...

Si nos fijamos en todos los términos menos el primero, todos tienen al menos n arriba y 10^c abajo, así que podemos sacar el factor común:

x = (1/10^c) + (n/10^c) * [ (n^0/10^c) + (n^1/10^2c) + (n^2/10^3c) + (n^3/10^4c) + ...]

Si nos fijamos ahora, lo que va entre corchetes se corresponde con la primera definición de x que hemos dado, así que sustituimos

x = (1/10^c) + (n/10^c)*x

Ponemos las x en un lado...

(1-n/10^c)*x = 1/10^c

Y resolvemos x:

x = 1/(10^c*(1-n/10^c))
x= 1/(10^c-n)

Es decir, que nos ha quedado reducido a una división de 1 entre un número que es 10 elevado al número de cifras menos el número que buscamos.

Comprobamos, por ejemplo potencias del 2 tomadas de 3 en 3:
x = 1/(10^3-2) =  x = 1/998 = 0,00100200400801603206412825651303

==============================

El último lo dejo pendiente a ver si alguien lo saca ;)
Título: Re:¿Sabes matemáticas? ¡Demuéstralo!
Publicado por: Maik en 20 de Mayo de 2012, 16:00
1.

<html>
<head>
</head>
<body>
<script language="JavaScript">
var n,m,res;
for(n=2;n<=345823;n  ){
for(m=2;m<n;m  ){
res=n%m;
if(res==0){
document.write(n ', ');
break;
}
}
}
</script>
</body>
</html>

?
Título: Re:¿Sabes matemáticas? ¡Demuéstralo!
Publicado por: Bill en 20 de Mayo de 2012, 18:35
Eso te daría la lista de números compuestos desde el 2 hasta 345823.
Pero le faltan cosas, para empezar en los bucles for falta el incremento de las variables, supondré que es por el formato de los posts.
Y luego, es terriblemente ineficiente. Una forma de ganar eficiencia es no iterar las divisiones desde 2 hasta n-1, si un número es compuesto, el mayor número contra el que debes dividirlo es contra la raíz cuadrada de sí mismo, dado que si no ya habrías encontrado un factor más pequeño.
Luego, los estás comprobando una y otra vez dividiendo contra números compuestos también. Ya que estás en el bucle iterando para buscar números compuestos, puedes meter los primos en una lista, y cada número solamente tienes que comprobarlo contra cada primo tal que dicho número primo sea menor o igual que la raíz del número que estás comprobando.

Pero como dije, no es la respuesta a la pregunta, lo que se buscan son 345823 números compuestos consecutivos, además es una pregunta que requiere una respuesta matemática, para contestarla desde un punto de vista informático necesitarías mucho tiempo y programarte un módulo de lo que se llaman "huge numbers" para poder almacenar números enormes, porque el resultado no te va a caber en un entero de 64 bits... ni siquiera en uno de 128 bits.
Título: Re:¿Sabes matemáticas? ¡Demuéstralo!
Publicado por: Aserercoff en 25 de Julio de 2012, 23:38
Cita de: Aserercoff en 25 de Julio de 2012, 22:13
Hice el mismo tipo de tabla, pero fallé en que fijé una moneda como que siempre sale cara. La teoría era que la cara del lanzador contaba, por eso de que era medio acertijo. A ver este:

El triángulo ABC tiene la longitud de los lados igual a a, b, c. Encuentra una condición necesaria para los ángulos para que , , puedan ser los lados de un triángulo.

Simple pero mortal.
Cita de: Bill en 25 de Julio de 2012, 23:15
La pregunta es, ¿te atreves tú? http://www.cientoseis.es/index.php?topic=79910.0 (http://www.cientoseis.es/index.php?topic=79910.0)

De lo tuyo, es simple. Ya dije que la condición necesaria y suficiente para que a,b,c formen triángulo es que a<b+c, b<a+c y c<a+b. Si el teórema de pitágoras nos dice que el cuadrado de la hipotenusa es igual al cuadrado de los catetos, estamos en el punto exacto de incumplimiento de la inecuación. La función de la inecuación al subir o bajar el ángulo recto es contínua, así que me llega con demostrar para uno de los casos. Los triángulos isósceles son agudos, y cumplen la condición en los cuadrados, así que agudos sí, obtusos no, rectos en el límite.
Jubílate ya Bill. Toma esta :cool::
Por lo tanto la condición es que todos los ángulos tienen que ser agudos. Si hay un sólo ángulo obtuso o recto no se podrá formar el segundo triángulo.

(http://casasreverb.com/wp-content/uploads/2011/03/man_sunglasses.jpg)

Le echaré un ojo a los problemas de aquí.
Título: Re:¿Sabes matemáticas? ¡Demuéstralo!
Publicado por: Bill en 25 de Julio de 2012, 23:40
Mi solución es más sencilla, intuitiva, y no incluye funciones trigonométricas ni desarrollos más complicados. Bienvenido al pensamiento lateral.
Título: Re:¿Sabes matemáticas? ¡Demuéstralo!
Publicado por: Aserercoff en 25 de Julio de 2012, 23:42
Pero tu solución da como válidos los rectos, y la mía no. A ver que hacemos ahora.
Título: Re:¿Sabes matemáticas? ¡Demuéstralo!
Publicado por: Bill en 25 de Julio de 2012, 23:48
 :facepalm: Fíjate en la definición que puse, al final terminé (para que tú lo entendieras) que la inecuación era que los lados fuesen estrictamente menores que la suma de los otros dos. Sin embargo, en geometría euclídea, si en lugar de estrictamente menor es sencillamente menor o igual, también es un triángulo, pero con un ángulo de 180 y dos ángulos de 0. Vamos, puedes dividir el triángulo en dos, cada uno de la proyección de uno de los lados (el coseno) y verás que trigonométricamente cumplen las reglas de los triángulos, porque... si a = b+c y lo partes en dos triángulos (a,a,0) y (b,b,0) tendrás que se cumplen las reglas del seno (ángulo 0, seno 0) y del coseno (cos(0) =1, a*1=a, b*1=b)

Te lo expliqué. Es sencillo:
a<b+c
b<a+c
c<a+b
Es la condición para triángulo. Teorema de pitágoras implica que el cuadrado de uno es igual que la suma de los cuadrados de los otros dos. Como la función de diferencia en la inecuación si varías el ángulo recto es contínua y creciente hacia un lado y decreciente hacia el otro, entonces nos llega saber si es el obtuso o el agudo el que lo cumple. Como los equiláteros, que son los más sencillos de ver a primera vista que lo cumplen, lo cumplen, entonces son los agudos y los obtusos no. En el caso del ángulo recto está tu visión clásica de EGB, en la que no es un triángulo, y la visión matemática estricta que dice que sí es un triángulo.

¿He usado cosenos o algo similar? No. Solamente condición de triángulo y teorema de pitágoras. Lo demás es intuitivo y demostrable geométricamente dibujando.
Título: Re:¿Sabes matemáticas? ¡Demuéstralo!
Publicado por: Aserercoff en 25 de Julio de 2012, 23:53
A partir de ahora las soluciones en negrita, como los votos del Mafia.
Título: Re:¿Sabes matemáticas? ¡Demuéstralo!
Publicado por: Bill en 25 de Julio de 2012, 23:55
Pues resuelve tú el que dejé pendiente  :gñe:

Es de un concurso de programación, había que resolverlo en menos de una hora, haciendo además el programa para obtener las soluciones.
Título: Re:¿Sabes matemáticas? ¡Demuéstralo!
Publicado por: Aserercoff en 25 de Julio de 2012, 23:57
¿Y los resolviste? ¿Razonamiento y programa? uhm
Título: Re:¿Sabes matemáticas? ¡Demuéstralo!
Publicado por: Bill en 26 de Julio de 2012, 00:00
Cita de: Aserercoff en 25 de Julio de 2012, 23:57
¿Y los resolviste? ¿Razonamiento y programa? uhm

El razonamiento es lo único complicado. Lo del programa... no te especificaban lenguaje, lo programabas en lo que querías, pero con stdout (leyendo y escribiendo en consola, a la antigua) y el concurso te daba un programa para testear la validez de las respuestas (ejecuta tu aplicación, escribe el input, espera el output y lo comprueba contra la web del concurso).

Pero vamos, no pido que se programe, solamente que se obtenga la forma de resolverlo. Por tiempo, el 20% de la hora es para razonamiento de algoritmo, 60% desarrollo, y 20% bugfixing y performance final. Así que... venga :)
EhPortal 1.39.2 © 2024, WebDev