Programación Específica > Diseño de Algoritmos
algoritmo para series numericas
(1/1)
celuti:
Hola:
¿Alguien sabría como diseñar un algoritmo que almacene en cada posición de un vector el resultado de la serie?
1, 1/2, 1/(2+1/3), 1/(2+1/(3+1/4)), 1/(2+1/(3+1/(4+1/5))),...,?
Muchas gracias.
Saludos.
Nebire:
El algortmo subyacente son 2 simples bucles...
Se resuelve abriendo el bucle externo en un ciclo creciente (recorriendo el vector) y el bucle interno iniiciando el cálculo desde la división más profunda hasta la primera (bucle regresivo)
--- Código: Text --- Cantidad = 10 Matriz(Cantidad-1) designa una matriz de 10 elementos.n = 1Matriz(0)= nhacer: Mientras n < (Cantidad -1) Incrementar n Cuenta = n div = ( 1 / n ) la priemra división se realiza fuera del bucle para inicializar la división en su valor más 'profundo' Hacer Mientras Cuenta > 1 Div = (1 / (Cuenta + Div)) Decrementar Cuenta repetir Matriz(n) = Divrepertir Nota que 'div' y la propia 'matriz' tendrás que declararlo como double, de lo contrario a partir de cierto índice de la matriz la diferencia entre 2 elementos consecutivos será tan pequeña que puede perderse si se emplea un tipo de datos sin la debida precisión.
La verdad es que el algoritmo no ofrece ninguna cmplejidad y todo el mundo debería ser capaz de resolverlo acaso con un poco más de tiempo invertido...
celuti:
Muchas gracias por tu ayuda. Me ha sido de mucha utilidad.
Un saludo.
Navegación
Ir a la versión completa