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)
-   
- Cantidad = 10   
- Matriz(Cantidad-1)  designa una matriz de 10 elementos. 
- n = 1 
- Matriz(0)= n 
- hacer: 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) = Div 
- repertir 
-   
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...