1 votos

Tengo un problema con esta tarea

Supongamos que un algoritmo utiliza 2n2+3n2n2+3n operaciones de bits para resolver un problema de tamaño nn . Supongamos que su máquina puede realizar una operación de bits en 109109 segundos, cuánto tarda su algoritmo en resolver un problema de tamaño dado a continuación. Tenga en cuenta que si su algoritmo tarda más de 6060 segundos, responder en minutos. Para más de 6060 minutos, responder en horas. Para más de 2424 horas, respuesta en días. Para más de 365365 días, responda en años. Para más de 100 años, responde en siglos.

(a) 10

(b) 20

(c) 50

(d) 100

(e) 1000

1voto

Oli Puntos 89

Nos ocupamos de n=50n=50 . Así que tenemos que evaluar 2(50)2+3502(50)2+350 . El 2(50)22(50)2 parte es fácil de evaluar, mediante una calculadora o, más sencillamente, en la cabeza. Obtenemos 50005000 .

En realidad, es no importa lo que obtenemos, ya que 2(50)22(50)2 es totalmente insignificante en comparación con 350350 .

Para evaluar 350350 podemos utilizar una calculadora. Pero como la calculadora puede atragantarse después con 3100031000 Lo hacemos de otra manera.

Utilizaremos logaritmos a la base 1010 . Así que por loglog nos referimos a loglog a la base 1010 . Tenga en cuenta que 3=10log33=10log3 Así que 350=1050log3350=1050log3 .

La calculadora da 50log323.85650log323.856 Así que 350(1023)(100.856)350(1023)(100.856) . Concluimos que 3507.18×1023.3507.18×1023. Cada operación lleva 109109 segundos. Así que el número de segundos utilizados es aproximadamente 7.18×10147.18×1014 .

Dividir por 36003600 para obtener horas, entonces por 2424 para conseguir días, entonces por 365365 para obtener (aproximadamente) años, entonces por 100100 para conseguir siglos. Mucho tiempo. El objetivo del problema es hacer que tu calculadora se ejercite, y mostrarte la rapidez de la función 3n3n crece.

Observación: En realidad, no tenemos absolutamente necesito registros para calcular 3100031000 . Mi calculadora científica barata dice "E" y se niega a hacer nada si le digo que busque 3100031000 . Sin embargo, no tiene ningún problema en declarar que 31254.3667×105931254.3667×1059 . Pero 3100031000 es el 88 -ésima potencia de esto, que es aproximadamente (4.3667)8×10(8)(59)(4.3667)8×10(8)(59) .

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X