|
469
|
Foros Generales / Foro Libre / Re: ¿alguien es capaz de explicarme el termino "c^2" en "E=mc^2"?
|
en: 10 Julio 2017, 22:28 pm
|
¿Y por qué no? Ya no recuerdo cómo obtener esa ecuación, sin embargo: c^2 es un número, no una variable. Es c^2 como """podría""" haber sido c*12.56434. Por qué la constante de gravitación universal es 6.674*10^(-11)? Porque sí xD Volviendo al tema de c^2, esa ecuación no salió de la nada, se saca a partir de otras. Simplemente, la ecuación acabó simplificándose así. Si la pregunta es por qué hemos aproximado que el universo funciona así, pues... No te pienso responder. No porque no lo sepa, simplemente porque soy malvado
|
|
|
470
|
Programación / Programación General / Re: ¿se puede hacer el mismo efecto de anidar muchos bucles for con unos pocos?
|
en: 10 Julio 2017, 22:05 pm
|
Cada algoritmo podrá ser comprimido de una forma u otra. por ejemplo, el ejemplo de las cifras, se podría comprimir en 1 bucle for deo 0 al 100000. Ese, es un método de compresión de <ese> algoritmo.
Para casos más genéricos, habría que hacer un algoritmo algo más complicado. Acabaríamos con un generador de variaciones con repetición. Algo que necesitaremos es una forma de almacenar "por donde vamos para cada cifra". Lo que en los fors, son todas las variables de los fors. Ya que no tenemos N fors, ahora tendremos un array de tamaño N, cada uno con una cifra. Y sería simplemente hacer un bucle while, cuya condición será simplemente una bandera, llamémosla "acabar". Dentro del while, incrementaremos en 1 la posición más a la derecha del vector (o la de la izquierda, depende de lo que se quiera conseguir). - Si no ha desbordado (9 -> 0), no hacemos nada más. Simplemente, cogemos todas las cifras del vector, y las usamos para lo que queramos (printf en este caso). - Si ha desbordado, incrementamos el siguiente en el vector (para esto, necesitaremos un while/for con un índice para saber por cuál vamos, que se reiniciará en cada vuelta del while externo). Y repetimos esto continuamente hasta que no desborde la cifra que aumentemos. En caso de que desborde la última cifra, significa que hemos acabado, y ponemos la bandera "acabar" a true (o hacemos un break, lo que sea, para salir del algoritmo, pues hemos acabado).
Con respecto a esto, puntualizar. La diferencia entre hacer esto y hacer los fors es casi "nula". En los fors tenemos variables, aquí tenemos el array. Aquí tenemos además el algoritmo y el índice para ir incrementando las cifras. En los fors tenemos un extra en código.
En cualquier caso, cada algoritmo a reducir debería ser analizado a parte. Si es posible, ir siempre a lo más legible sin perder eficiencia.
|
|
|
|
|
|
|