用fortran判断素数
时间: 2024-06-16 14:03:39 浏览: 19
Fortran是一种编程语言,可以用来编写判断素数的程序。素数是只能被1和自身整除的正整数。下面是一个用Fortran编写的判断素数的示例程序:
```fortran
program prime_number
implicit none
integer :: num, i, flag
! 输入一个正整数
write(*,*) "请输入一个正整数:"
read(*,*) num
flag = 0
! 判断是否为素数
do i = 2, num-1
if (mod(num, i) == 0) then
flag = 1
exit
end if
end do
! 输出结果
if (flag == 0) then
write(*,*) num, "是素数"
else
write(*,*) num, "不是素数"
end if
end program prime_number
```
在这个程序中,我们首先输入一个正整数,然后使用一个循环从2到该数减1进行遍历,判断是否能被整除。如果能被整除,则将标志位flag设为1,并退出循环。最后根据flag的值输出结果。
相关问题
Fortran判断素数
下面是使用Fortran编写的判断素数的程序:
```
program prime_number
implicit none
integer :: n, i, flag
print *, "Enter a positive integer:"
read *, n
if (n <= 1) then
print *, "Not a prime number"
else
flag = 0
do i = 2, n-1
if (mod(n, i) == 0) then
flag = 1
exit
end if
end do
if (flag == 1) then
print *, "Not a prime number"
else
print *, "Prime number"
end if
end if
end program prime_number
```
在这个程序中,首先要求用户输入一个正整数。然后,如果这个数小于等于1,则输出“Not a prime number”。否则,使用一个循环来依次测试这个数是否能被2至n-1之间的整数整除。如果存在一个能够整除的数,则不是素数,输出“Not a prime number”,否则是素数,输出“Prime number”。
怎样用fortran判断一年是否为闰年
可以使用以下代码来判断一年是否为闰年:
```fortran
function is_leap_year(year)
logical :: is_leap_year
integer, intent(in) :: year
is_leap_year = (mod(year, 4) == 0) .and. ((mod(year, 100) /= 0) .or. (mod(year, 400) == 0))
end function is_leap_year
```
其中,`year` 为需要判断的年份,函数返回值为逻辑值,表示该年是否为闰年。