Transform a continued fraction representation into a real : dfc2f

### 5.8.8 Transform a continued fraction representation into a real : dfc2f

dfc2f takes as argument a list representing a continued fraction, namely

- a list of integers for a rational number
- a list whose last element is a list for an ultimately periodic representation, i.e. a quadratic number, that is a root of a second order equation with integer coefficients.
- or a list with a remainder r as last element (a=a0+1/....+1/an+1/r).

dfc2f returns the rational number or the quadratic number with the argument as continued fraction representation.
Input :

dfc2f([1,2,[2]])

Output :

1/(1/(1+sqrt(2))+2)+1

After simplification with normal :

sqrt(2)

Input :

dfc2f([1,2,3])

Output :

10/7

Input :

normal(dfc2f([3,3,6,[3,6]]))

Output :

sqrt(11)

Input :

dfc2f([1,2,3,4,5,6,7])

Output :

9976/6961

Input to verify :

1+1/(2+1/(3+1/(4+1/(5+1/(6+1/7)))))

Output :

9976/6961

Input :

dfc2f([1,2,3,4,5,43/7])

Output :

9976/6961

Input to verify :

1+1/(2+1/(3+1/(4+1/(5+7/43))))

Output :

9976/6961