17/11/2018, 06:48:28 pm *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias: LISTADO ACTUALIZADO DE CURSOS
 
 
Páginas: 1 [2]   Ir Abajo
  Imprimir  
Autor Tema: Número irracional  (Leído 6079 veces)
0 Usuarios y 1 Visitante están viendo este tema.
Juan Pablo Sancho
Moderador Global
Pleno*
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 4.419


Ver Perfil
« Respuesta #20 : 24/04/2016, 09:03:55 pm »

Mi respuesta era por:



...en el momento que existe un período, sea el que sea de la longitud que sea, existe un algoritmo definido para calcular la expresión en forma de fracción.


Editado

Mi planteamiento era:

Si [texx] q = m.\overline{a_1,a_2, \cdots , a_n} [/texx] entonces [texx] q = \dfrac{p}{t} [/texx]

Por el contrarreciproco:

Si [texx] q \notin \mathbb{Q} [/texx] entonces [texx] q \neq m.\overline{a_1,a_2, \cdots , a_n} [/texx]
En línea
Gaussito
Pleno*
*****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Venezuela Venezuela

Mensajes: 177


Ver Perfil
« Respuesta #21 : 24/04/2016, 10:17:25 pm »

Amigo Juan, el hecho de que:


Si [texx] q \notin \mathbb{Q} [/texx] entonces [texx] q \neq m.\overline{a_1,a_2, \cdots , a_n} [/texx]


No prueba que:

Si [texx] q \neq m.\overline{a_1,a_2, \cdots , a_n} [/texx] entonces [texx] q \notin \mathbb{Q} [/texx]

Por otro lado, con respecto a mi última demostración, donde se prueba que la cadena #,#99999999.... es imposible representarla mediante la división de dos enteros, la resuelven fácilmente diciendo que 0,999999..... = 1 . Sin embargo, pienso que eso no le quita validez a mi demostración, ni tampoco desmonta mi corolario que dice:


Corolario 2. "Los números decimales con período 9, no pueden ser expresados como la división de dos enteros"


Además, podríamos generalizar esto y decir que existen infinitos números decimales que se pueden escribir de dos formas diferentes, por ejemplo: 3,25 = 3,2499999999..... , aunque ese número en su forma 3,25 puede ser expresado como la división de dos enteros, mientras que en su otra forma 3,24999999.... no puede serlo. Creo que esto finaliza la discusión, cualquier observación en mis razonamientos, háganmelo saber.

Saludos.
En línea
feriva
Pleno*
*****

Karma: +1/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 7.427



Ver Perfil
« Respuesta #22 : 25/04/2016, 05:13:47 am »

Quisiera seguir deduciendo corolarios de la explicación que ofreció Ivorra, y así desmontar un argumento que hemos estado tomando como cierto a pesar de que es falso. El argumento que quiero desmentir es el siguiente:

"...en el momento que existe un período, sea el que sea de la longitud que sea, existe un algoritmo definido para calcular la expresión en forma de fracción"



Eso puede “acabar” en una discusión interminable, tanto como los números irracionales. La razón es que hay cosas que no se demuestran, sino que dependen de las definiciones que tomemos. ¿Cómo definimos periodo, cómo tiene que ser para que le llamamos así? Evidentemente, lo que entiende la mayoría de la gente (quizá algunos tengan una definición más personal) es que todo periodo empieza y acaba; pero claro, dentro de un podría haber trozos que también podríamos considerar periodos o subperiodos Un número “aabbaabb...” se puede hacer partes iguales de tal forma que lo podemos entender así “aa bb  aa bb” o así “aabb aabb...” y de infinitas formas, porque ahí lo que usamos es una cantidad dada por un primo (en este caso uso el primo 2) y los múltiplos que podemos formar con él agrupando. Si la cantidad de cifras del número es impar, no podré hacer grupos que sean múltiplos de 2, si no viene dada por un múltiplo de 53, por ejemplo, el periodo no podrá tener subperiodos de menos de 53 cifras, porque la cantidad viene dada por un primo.


En fin. Alguien puede considerar que cualquier número de infinitas cifras es irracional porque es un gran periodo que no acaba nunca, aparte de los subperiodos que contenga, pero sucede que no hay una “frontera” entre lo infinito y lo finito, esa barrera no está en ningún sitio concreto, con lo que las discusiones sobre estas cosas tampoco acaban nunca.

El argumento de elcristo, según lo que entiendo yo por periodo, algo que acaba, no es falso, como mucho puede necesitar alguna matización; ocurre con frecuencia que nos ponemos a discutir de cosas sin ponernos antes de acuerdo en unas definiciones, y luego... pasa lo que pasa.

Un saludo.

En línea

Carlos Ivorra
Administrador
Pleno*
*****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 8.859


Ver Perfil WWW
« Respuesta #23 : 25/04/2016, 06:56:37 am »

Por otro lado, con respecto a mi última demostración, donde se prueba que la cadena #,#99999999.... es imposible representarla mediante la división de dos enteros, la resuelven fácilmente diciendo que 0,999999..... = 1 . Sin embargo, pienso que eso no le quita validez a mi demostración, ni tampoco desmonta mi corolario que dice:


Corolario 2. "Los números decimales con período 9, no pueden ser expresados como la división de dos enteros"


Además, podríamos generalizar esto y decir que existen infinitos números decimales que se pueden escribir de dos formas diferentes, por ejemplo: 3,25 = 3,2499999999..... , aunque ese número en su forma 3,25 puede ser expresado como la división de dos enteros, mientras que en su otra forma 3,24999999.... no puede serlo. Creo que esto finaliza la discusión, cualquier observación en mis razonamientos, háganmelo saber.

Hay una contradicción sutil en lo que dices. Por una parte, reconoces que [texx]3{.}25 = 3{.}2499999999.....[/texx] son dos representaciones del mismo número (y así es), pero por otra parte dices que [texx]3{.}25[/texx] puede expresarse como cociente de dos enteros, mientras que [texx]3{.}2499999999.....[/texx] no puede. Y eso es absurdo. Es como si dices que Cervantes escribió el Quijote, pero que El Manco de Lepanto no lo hizo. Si tienes claro que Cervantes es el mismo que El Manco de Lepanto, no puedes decir que uno escribió el Quijote y el otro no. Lo que vale para uno, vale necesariamente para el otro, porque son el mismo.

En concreto, no es cierto que [texx]3{.}2499999999.....[/texx] no pueda expresarse como cociente de dos enteros. Sencillamente:

[texx]3{.}2499999999... = \dfrac{13}4[/texx].

Lo que tú pruebas (y es correcto) es que al aplicar el algoritmo de la división a [texx]13/4[/texx], o a cualquier otro número racional, no te va a salir nunca un periodo de nueves, pero eso significa que cuando un número racional admite dos desarrollos decimales, el algoritmo de la división siempre te presenta el finito, y nunca el infinito. Pero no puedes traducir una afirmación del tipo "este desarrollo decimal no va a salir al dividir dos enteros" en una del tipo "este número decimal no es cociente de dos enteros", porque sí que lo es. Es un cociente de dos enteros que, al dividir, te dan el otro desarrollo decimal de ese mismo número.
En línea
Luis Fuentes
el_manco
Administrador
Pleno*
*****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 42.963


Ver Perfil
« Respuesta #24 : 25/04/2016, 08:56:39 am »

Hola

Aunque sé que el tema ya está agotado, me gustaría saber si existe alguna forma de calcular el número de cifras que tiene el período, dada la división de dos enteros a y b. Sé que la calculadora de wolframgalpha.com, da el número de cifras que tiene el período, pero no sé si lo calculan mediante una fórmula matemática o a través de un algoritmo de programación.

Fíjate que si un número racional [texx]r=a/b[/texx] (con [texx]a,b[/texx] coprimos) tiene un período de longitud [texx]k[/texx] se cumple que:

[texx]10^m(10^kr-r)=c[/texx]

para ciertos enteros [texx]c,m[/texx]. La idea es que [texx]10^kr-r[/texx] tiene un número finito de cifras decimales. Entonces:

[texx]r=\dfrac{a}{b}=\dfrac{c}{10^m(10^k-1)}[/texx]

ahora si escribimos [texx]b=2^d5^fb_1[/texx] con [texx]b_1[/texx] coprimo con [texx]10[/texx] se deduce que [texx]10^k-1[/texx] es múltiplo de [texx]b_1[/texx].

Resumiendo si el denominador de la fracción reducida es [texx]b=2^d5^fb_1[/texx] con [texx]b_1[/texx] coprimo con [texx]10[/texx], el período es el menor entero [texx]k[/texx] tal que [texx]10^k\equiv 1[/texx] mod [texx]b_1[/texx].

Del Teorema de Euler , se deduce que ese período es un divisor de la función de Euler [texx]\varphi(b_1)[/texx].

Saludos.
En línea
Gaussito
Pleno*
*****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Venezuela Venezuela

Mensajes: 177


Ver Perfil
« Respuesta #25 : 26/04/2016, 02:54:51 pm »

Ivorra, entiendo tu planteamiento y me suscribo a el completamente. Además me gustaría hacer la observación de un fenómeno contrario a lo que sucede con la división de dos enteros, pasa cuando sumamos (con el algoritmo de la suma) dos números con período cuyo resultado es un entero, la cual siempre dará un número decimal de la forma #,9999999. Por ejemplo, sumemos [texx]\displaystyle\frac{1}{3}+\displaystyle\frac{2}{3}[/texx], cuyo resultado evidentemente es 1. Sin embargo, al sumarlos en su forma decimal sería algo así:

0,333333333..... + 0,666666666.... = 0,999999999999

(Que gracias a la explicación de Ivorra, no lo interpretaré de la forma "la suma de dos números con período jamás dará un número entero)

Este resultado se puede generalizar así: la suma de cualesquieras números con períodos cuyo resultado sea un entero, siempre (al aplicar el algoritmo de la suma) nos dará un número de la forma #,999999999....
En línea
Gaussito
Pleno*
*****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Venezuela Venezuela

Mensajes: 177


Ver Perfil
« Respuesta #26 : 26/04/2016, 03:29:24 pm »

Por otro lado en cuanto al comentario de el_manco (el cual entendí después de repasar bastante), me gustaría decir que a pesar de que es bastante útil el saber que el número de cifras que contiene el período (k), es divisor de [texx]\varphi(b_1)[/texx], eso todavía no me permite calcular el período de forma precisa dada la división de dos enteros.

Yo creo que cualquier algoritmo que me permita calcular dicho período sin necesidad de realizar la división, necesariamente debe incluir el numerador de la fracción y en el estudio de el_manco nunca se hace mención del mismo. Por eso insisto con la pregunta inicial ¿Existe tal algoritmo? O es imposible calcular dicho período de manera directa.

Le he estado dando vueltas al asunto y (siguiendo la simbología usada por el_manco) creo que dada una fracción [texx]\displaystyle\frac{a}{b}[/texx] el problema radica en estudiar la fracción [texx]\displaystyle\frac{1}{b_1}[/texx] con [texx]b=2^d5^fb_1[/texx], debido a que al conocer el período de esta fracción, facilmente mediante propiedades se puede deducir el resto de los períodos. He estado haciendo varias conjeturas relacionadas con el período (basándome en la exposición de el_manco), estas son:

1. El número de cifras del período de [texx]\displaystyle\frac{a}{b}[/texx] es igual al número de cifras del período de [texx]\displaystyle\frac{b-a}{b}[/texx]
2. El número máximo de cifras del período que se puede obtener con un denominador b, es igual al número de cifras del período de [texx]\displaystyle\frac{1}{b}[/texx]
3. Si n es coprimo de [texx]b_1[/texx], el número de cifras del período de [texx]\displaystyle\frac{n}{b_1}[/texx] es igual al número de cifras del período de [texx]\displaystyle\frac{1}{b_1}[/texx]

Espero seguir trabajando en este hilo hasta encontrar dicho algoritmo, o demostrar su inexistencia, aunque como entenderán abandonaré este hilo de discusión por un buen tiempo hasta reportar avances, o quizas lo más recomendado sea abrir otro tema para estudiar esto, puesto que dicho estudio se sale del título inicial de este hilo.

Además, producto de este problema he desarrollado un nuevo algoritmo para calcular la división de dos enteros, el cual pretendo presentar en otro hilo, apenas lo tenga bien definido, el algoritmo se basa en el hecho de que al realizar la multiplicación de un número con período con su denominador, el resultado es de la forma #,99999999....., es decir, al tomar el número 0,3333333333...... y multiplicarlo por 3, el resultado es 0,999999999..... Este hecho se puede generalizar para cualquier fracción, tal que [texx]\displaystyle\frac{a}{b}.b[/texx]=#,99999999..... (usando el algoritmo de la multiplicación, donde la división a sobre b, da como resultado un decimal con período)

Saludos.
En línea
Luis Fuentes
el_manco
Administrador
Pleno*
*****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 42.963


Ver Perfil
« Respuesta #27 : 27/04/2016, 08:45:11 am »

Hola

Por otro lado en cuanto al comentario de el_manco (el cual entendí después de repasar bastante), me gustaría decir que a pesar de que es bastante útil el saber que el número de cifras que contiene el período (k), es divisor de [texx]\varphi(b_1)[/texx], eso todavía no me permite calcular el período de forma precisa dada la división de dos enteros.

No. Te has quedado sólo con parte de lo que he expuesto. En mi anterior mensaje he esbozado la demostración del siguiente resultado.

La longitud del período de una fracción irreducible [texx]a/b[/texx] con [texx]b=2^d5^fb_1[/texx] y [texx]mcd(b_1,10)=1[/texx] es el menor número natural [texx]k[/texx] verificando que [texx]10^k\equiv 1[/texx] mod [texx]b_1[/texx].

Es decir la longtiud del período es el orden multiplicativo de [texx]10[/texx] módulo [texx]b_1[/texx]. Por tanto ya tienes un algoritmo para calcular esa longitud. Ir calculando [texx]10^k\mod b_1[/texx] y parar cuando obtengas [texx]1[/texx].

Ahora, hay formas más óptimas y más brutas de hacer ese cálculo. Aquí por ejemplo en la página 162 se describe como hacerlo en el Algoritmo 4.79.

En general puedes buscar información en google sobre logaritmos discretos o cálculos de orden multiplicativo de un elemento.

Cita
Yo creo que cualquier algoritmo que me permita calcular dicho período sin necesidad de realizar la división, necesariamente debe incluir el numerador de la fracción y en el estudio de el_manco nunca se hace mención del mismo.

No. Bajo el supuesto de que la fracción es irreducible, es decir [texx]a/b[/texx] con [texx]a[/texx] y [texx]b[/texx] coprimos, la longitud del período no depende de [texx]a[/texx], sólo de [texx]b[/texx].

Saludos.
En línea
Gaussito
Pleno*
*****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Venezuela Venezuela

Mensajes: 177


Ver Perfil
« Respuesta #28 : 02/05/2016, 12:11:36 am »

He estado trantando de comprender las referencias dejadas por el_manco en su último comentario, sin embargo no he logrado comprender en su totalidad los algoritmos propuestos allí. Al igual que siempre me quedo maravillado por la sabiduría de los moderadores de este foro, creo que el único defecto que tienen es haber nacido después de Euler, Gauss, Fermat, entre otros, porque de lo contrario, fuesen los creadores de muchos teoremas de la actualidad, veríamos algo como "El último teorema de Ivorra", o "El pequeño teorema de El_manco", jejejejejejejejeje.

Para finalizar he creado un pequeño programita que calcula el período de la división de [texx]\displaystyle\frac{1}{b}[/texx], lo subí a una página que creé, pueden acceder desde el siguiente link: mmsrlengua.260mb.com/periodo.html

Espero sea de utilidad, se pueden calcular períodos de hasta un millón de cifras, todo depende de la velocidad de la computadora que se utilice, además describí varios métodos para calcular dichos períodos. Los métodos fueron creados en base a los comentarios de Ivorra, El_manco y un método personal. No soy muy bueno programando, imagino que hay métodos más eficientes de hacer dichos cálculos, sin embargo (modestia aparte), los resultados obtenidos con el programa son más rápidos y completos que los obtenidos con la calculadora de wolfram.

Saludos.


En línea
Luis Fuentes
el_manco
Administrador
Pleno*
*****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 42.963


Ver Perfil
« Respuesta #29 : 02/05/2016, 07:23:57 am »

Hola

He estado trantando de comprender las referencias dejadas por el_manco en su último comentario, sin embargo no he logrado comprender en su totalidad los algoritmos propuestos allí. Al igual que siempre me quedo maravillado por la sabiduría de los moderadores de este foro, creo que el único defecto que tienen es haber nacido después de Euler, Gauss, Fermat, entre otros, porque de lo contrario, fuesen los creadores de muchos teoremas de la actualidad, veríamos algo como "El último teorema de Ivorra", o "El pequeño teorema de El_manco", jejejejejejejejeje.

Para finalizar he creado un pequeño programita que calcula el período de la división de [texx]\displaystyle\frac{1}{b}[/texx], lo subí a una página que creé, pueden acceder desde el siguiente link: mmsrlengua.260mb.com/periodo.html

Espero sea de utilidad, se pueden calcular períodos de hasta un millón de cifras, todo depende de la velocidad de la computadora que se utilice, además describí varios métodos para calcular dichos períodos. Los métodos fueron creados en base a los comentarios de Ivorra, El_manco y un método personal. No soy muy bueno programando, imagino que hay métodos más eficientes de hacer dichos cálculos, sin embargo (modestia aparte), los resultados obtenidos con el programa son más rápidos y completos que los obtenidos con la calculadora de wolfram.

Saludos.

Bien, es digno de admirar tu trabajo.

Ahora bien, si de lo que se trata de, exclusivamente hallar la longitud del período, el método más rápido (implementado de manera óptima) es el segundo; entiendo que en el tercero esencialmente estás hallando el periódo (divides hasta que se repita el resto). Cuando dices que falla (en la página que has enlazado) entiendo que te refieres a que falla la implementación que tu has hecho; si te refieres al método (teórico) indica para que valores de [texx]b[/texx] has encontrado fallos.

Saludos.
En línea
Gaussito
Pleno*
*****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Venezuela Venezuela

Mensajes: 177


Ver Perfil
« Respuesta #30 : 02/05/2016, 08:56:29 am »

El_manco, como siempre tienes razón (creo que debe haber una correspondencia biunívoca entre la cantidad de mensajes que has escrito en este foro y las veces que te han dicho que tienes la razón). La teoría por supuesto que nunca falla, lo que falla es el programa que diseñé y los cálculos que realiza la computadora, además los tres métodos desarrollados buscan todas las cifras del período para poder calcularlo, mientras que la manera más óptima no debería preocuparse por las cifras del período sino sólo por el tamaño de ese período.

El método 1 (método creado por mí y que se basa en el hecho de que [texx]\displaystyle\frac{1}{b}b=0,999999.....[/texx]), es muy eficiente cuando se trata del cálculo realizado por los seres humanos, ya que solo trabaja con multiplicaciones de una cifra y con sumas que para números de 1000 dígitos, nunca deben pasar de 500 como resultado, el problema de este método es que una vez comenzado no sé cómo terminarlo, es decir, se comienzan a generar las cifras del período pero no he elaborado un criterio para saber en qué momento se comienzan a repetir. En el programa que diseñé, le dije a la computadora que se detuviera cuando viera n ceros seguidos, basados en el hecho de que si un número b tienen n cifras, la expresión decimal de 1/b debe comenzar por 0,00000...#, donde la cantidad de ceros es n y por tanto en el período todos los ciclos deben comenzar con n-1 ceros, sin embargo, cuando el período es del tipo 0,000###000#### mi algoritmo de programación se detiene diciendo que ya comenzó a repetirse el período, confundiendo la serie de n-1 ceros con el inicio del período. Por otra lado quisiera reslatar que este método realiza aproximadamente el siguiente número de operaciones matemáticas: 4*(longitud de cifras de b)*(longitud de cifras del período), es decir, que si la cifra es de 100 cifras, las operaciones matemáticas que realiza es de aproximadamente [texx]4*100*10^{100}[/texx], como veran una cifra descomunal de operaciones para realizarla en un tiempo corto.

El método 2 (basado en el argumento de el_manco de que [texx]10^k \equiv{1} mod (b)[/texx], creo que es perfecto, y como él bien lo dice, creo que aplicado de forma óptima, debería ser el método más eficiente, puesto que requiere una menor cantidad de cálculos. Sin embargo, cuando lo llevo a la práctica falla vergonzosamente, tan es así que a lo sumo me sirve para calcular 314 cifras decimales, y para empeorar las cosas, la cifras decimales que da son incorrectas, creo que la razón para que esto suceda, es que en el programa obligo a la computadora a trabajar con números grandes, por ejemplo debe calcular [texx]10^{314}\equiv{1} mod(b)[/texx], esto hace que el cálculo falle, porque creo que en este lenguaje de programación las cifras se redondean, por ejemplo, el número 9999999.......999999, lo escriben como [texx]9999 * 10^n[/texx], por esta razón creo que los cálculos no son precisos y comienzan a fallar las cifras que arroja como decimales. Es de resaltar que este método es el que menos operaciones matemáticas realiza (a lo sumo 3*cantidad de cifras de b), pero falla porque los números con los que trabaja son demasiado grandes.

El método 3 al parecer nunca falla, al igual que el método 1 trabaja con cifras relativamente pequeñas, a lo sumo de [texx]10*b[/texx], el número de operaciones matemáticas que realiza es de aproximadamente 3*(cantidad de cifras del período), en otras palabras, si el b tiene 100 cifras, hará [texx]3*10^{100}[/texx] cálculos, por eso es que al tratarse de números grandes el programa se queda pegado.

Por último quisiera agradecer el tiempo que los comentaristas le han dedicado al hilo y a todas esas personas que aún sin comentar, se toman la molestia de leer el tema. Además me gustaría que el_manco me diera una referencia nivel novato, de cómo realizar el método dos de manera eficiente y por último quisiera que probaran el programa que diseñé con la cifra 619, para que vean como reacciona cada uno de los algoritmos, basándose en las explicaciones que acabo de dar.

Saludos.
En línea
Carlos Ivorra
Administrador
Pleno*
*****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 8.859


Ver Perfil WWW
« Respuesta #31 : 02/05/2016, 12:16:27 pm »

El método 2 (basado en el argumento de el_manco de que [texx]10^k \equiv{1} mod (b)[/texx], creo que es perfecto, y como él bien lo dice, creo que aplicado de forma óptima, debería ser el método más eficiente, puesto que requiere una menor cantidad de cálculos. Sin embargo, cuando lo llevo a la práctica falla vergonzosamente, tan es así que a lo sumo me sirve para calcular 314 cifras decimales, y para empeorar las cosas, la cifras decimales que da son incorrectas, creo que la razón para que esto suceda, es que en el programa obligo a la computadora a trabajar con números grandes, por ejemplo debe calcular [texx]10^{314}\equiv{1} mod(b)[/texx], esto hace que el cálculo falle, porque creo que en este lenguaje de programación las cifras se redondean, por ejemplo, el número 9999999.......999999, lo escriben como [texx]9999 * 10^n[/texx], por esta razón creo que los cálculos no son precisos y comienzan a fallar las cifras que arroja como decimales. Es de resaltar que este método es el que menos operaciones matemáticas realiza (a lo sumo 3*cantidad de cifras de b), pero falla porque los números con los que trabaja son demasiado grandes.

No necesitas trabajar en ningún momento con números mayores que [texx]10b[/texx] para calcular [texx]10^{314} (mod \ b)[/texx] puedes reducir [texx]10 (mod\ b)[/texx], multiplicar el resultado por 10 y reducirlo módulo b, multiplicar el resultado por 10 y reducirlo módulo b, y así k veces hasta obtener el resto que buscas, sin haber manejado nunca ningún número mayor que [texx]10 b[/texx].
En línea
Gaussito
Pleno*
*****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Venezuela Venezuela

Mensajes: 177


Ver Perfil
« Respuesta #32 : 02/05/2016, 02:08:00 pm »


No necesitas trabajar en ningún momento con números mayores que [texx]10b[/texx] para calcular [texx]10^{314} (mod \ b)[/texx] puedes reducir [texx]10 (mod\ b)[/texx], multiplicar el resultado por 10 y reducirlo módulo b, multiplicar el resultado por 10 y reducirlo módulo b, y así k veces hasta obtener el resto que buscas, sin haber manejado nunca ningún número mayor que [texx]10 b[/texx].

Ivorra, hacer eso que describes es caer en el método 3 de los algoritmos que programé.


Para finalizar he creado un pequeño programita que calcula el período de la división de [texx]\displaystyle\frac{1}{b}[/texx], lo subí a una página que creé, pueden acceder desde el siguiente link: mmsrlengua.260mb.com/periodo.html


El problema de hacerlo como describes, es que hay que repetir el proceso k veces, y como tu mismo lo has explicado, para un entero de n cifras, se puede repetir el proceso hasta [texx]10^n[/texx] veces, además el proceso consta de 3 pasos: multiplicar por 10, reducirlo a módulo b y verificar que sea igual a 1, en consecuencia, el número de operaciones que debe hacer la computadora es de [texx]3*10^n[/texx], que para n pequeños la operación parece inmediata, pero cuando [texx]n>5[/texx], comenzamos a notar que la computadora tarda en reaccionar, hasta quedarse completamente pegada cuando [texx]n>8[/texx]
En línea
Carlos Ivorra
Administrador
Pleno*
*****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 8.859


Ver Perfil WWW
« Respuesta #33 : 02/05/2016, 02:34:13 pm »

Ivorra, hacer eso que describes es caer en el método 3 de los algoritmos que programé.

Ah, vale. Pues no he dicho nada.
En línea
Luis Fuentes
el_manco
Administrador
Pleno*
*****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 42.963


Ver Perfil
« Respuesta #34 : 02/05/2016, 05:22:10 pm »

Hola


No necesitas trabajar en ningún momento con números mayores que [texx]10b[/texx] para calcular [texx]10^{314} (mod \ b)[/texx] puedes reducir [texx]10 (mod\ b)[/texx], multiplicar el resultado por 10 y reducirlo módulo b, multiplicar el resultado por 10 y reducirlo módulo b, y así k veces hasta obtener el resto que buscas, sin haber manejado nunca ningún número mayor que [texx]10 b[/texx].

Ivorra, hacer eso que describes es caer en el método 3 de los algoritmos que programé.

Entonces el tercer y segundo método son el mismo (teóricamente); la única diferencia es cómo los has programado.

Aquí tienes una colección de programas en varios lenguajes para hallar el orden multiplicativo de un elemento (que es lo que hacemos cuando calculamos [texx]k[/texx] tal que [texx]10^k=1[/texx] mod [texx]b[/texx]); si no me equivoco la forma óptima de hacerlo se basa en poder descomponer un número en factores primos, lo cuál está también explicado aquí.

Saludos.
En línea
Páginas: 1 [2]   Ir Arriba
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.4 | SMF © 2006, Simple Machines LLC XHTML 1.0 válido! CSS válido!