fortran-courses/Intermediate Fortran/Section 2 - Procedure Attri.../pure_and_elemental_exercise...

31 lines
728 B
Fortran

program pure_and_elemental_exercise
implicit none
integer, parameter :: PRIMES(*) = [2, 3, 5, 7, 11]
integer, parameter :: REAL_ANSWER = 1872
integer :: answer
! Replace '42' with an expression using elemental functions
! that calculates the equivalent of the following:
! answer = 0
! do i = 1, size(PRIMES)
! answer = answer + (primes(i) * 3)**2
! end do
answer = sum(function_(primes))
if (answer == REAL_ANSWER) then
print *, "You got it! :)"
else
print *, answer
print *, "Not passing yet :("
end if
contains
! put your functions down here
elemental function function_(primes_) result(resu)
integer, intent(in) :: primes_
integer :: resu
resu = (primes_ * 3)**2
end function
end program