Program prime_function !------------------------------------------------------------------------------ !Program: Prime Test Function !Author: Chris Harper !Date: 2/23/2008 !------------------------------------------------------------------------------ IMPLICIT NONE !declare functions and variables logical :: isPrime integer :: n !test prime function with user input do print *, "Enter an integer (0 to exit):" read *, n if (n == 0) exit if (isPrime(n)) then print *, n, " is prime" else print *, n, " is not prime" end if end do end !returns true if n is a prime number, false otherwise logical function isPrime(n) IMPLICIT NONE integer , intent (IN) :: n integer :: i select case (n) case (:1) ! <=1 is not prime isPrime = .false. case (2:3) ! 2 and 3 are prime isPrime = .true. case (4:) ! >=4 is prime if it cannot be evenly divided from 2 to its sqrt do i = 2, sqrt(real(n)) if (mod(n, i) == 0) then isPrime = .false. return end if end do isPrime = .true. end select end function