编写一个判断素数的外部程序子函数程序在主程序中输入一个整数调用外部函数子程序输出是否为素数的信息用FORTRAN语言
时间: 2024-11-03 09:18:35 浏览: 18
C语言程序设计代码复习题大全.zip
5星 · 资源好评率100%
在Fortran语言中编写一个判断素数的子程序,首先需要定义一个函数来检查一个数是否为素数。下面是一个简单的示例:
```fortran
! 定义一个名为 "is_prime" 的外部函数
external is_prime
! 主程序部分
program main
implicit none
integer :: number, result
! 输入一个整数
write(*,*) '请输入一个整数:'
read(*), number
! 调用子程序判断是否为素数
call is_prime(number, result)
if (result == 0) then
print *, number, '是素数'
else
print *, number, '不是素数'
end if
contains
! 子程序 "is_prime"
function is_prime(n, result)
implicit none
integer, intent(in) :: n
logical, intent(out) :: result
! 素数定义为大于1且只有两个正因数(1和自身)
result = .true.
if (n <= 1) then
result = .false.
else if (n <= 3) then
! 所有小于等于3的数都是素数
else if (.mod(n, 2) == 0 .or. .mod(n, 3) == 0) then
result = .false.
else
! 检查从5到sqrt(n)的所有奇数
do i = 5, int(sqrt(n)), 6
if (.mod(n, i) == 0 .or. .mod(n, i + 2) == 0) then
result = .false.
exit
end if
end do
end if
end function is_prime
end program main
```
在这个例子中,`main`程序负责读取用户输入并调用`is_prime`函数。`is_prime`函数通过循环检查除1、2和本身以外的因子是否存在来确定一个数是否为素数。
阅读全文