RosettaCodeData/Task/Fibonacci-sequence/Fortran/fibonacci-sequence-5.f

21 lines
567 B
FortranFixed
Raw Permalink Normal View History

2018-08-17 15:15:24 +01:00
function fibI(n)
integer, intent(in) :: n
integer, parameter :: fib0 = 0, fib1 = 1
integer :: fibI, back1, back2, i
2015-02-20 00:35:01 -05:00
2018-08-17 15:15:24 +01:00
select case (n)
case (:0); fibI = fib0
case (1); fibI = fib1
case default
fibI = fib1
back1 = fib0
do i = 2, n
back2 = back1
back1 = fibI
fibI = back1 + back2
end do
end select
end function fibI
end module fibonacci