fortran-courses/Intermediate Fortran/Section 2 - Procedure Attri.../recursive_sum_exercise.f90

28 lines
534 B
Fortran

program recursive_sum_exercise
implicit none
integer, parameter :: THE_NUMBERS(*) = [2, 3, 5, 7, 11]
integer :: answer
answer = sum_(THE_NUMBERS)
if (answer == 28) then
print *, "You got it! :)"
else
print *, answer
print *, "Not quite right yet. :("
end if
contains
recursive function sum_(numbers) result(total)
integer, intent(in) :: numbers(:)
integer :: total
total = 0
if (size(numbers)==1) then
total = numbers(1)
else
total = numbers(1) + sum_(numbers(2:))
end if
end function
end program