因为只需计算到39,计算范围很小,就没考虑运行时间,只编写了需要的程序。
!
integer,parameter:: nn=39
integer ii,jj,kk,num,total,prime(nn)
!找出3-39之间的素数
num=0
check_prime: do ii=3,nn
do jj=2,ii-1
if(mod(ii,jj).eq.0) cycle check_prime
end do
num=num+1
prime(num)=ii
end do check_prime
!输出找出的素数
print *,'prime'
do ii=1,num
print *,prime(ii)
end do
!找出符合条件的素数组合并输出
print *,'group'
total=0
do ii=1,num-2
do jj=ii+1,num-1
if(prime(jj)-prime(ii).eq.2) then !第二个比第一个大2时
do kk=jj+1,num
if(prime(kk)-prime(jj).eq.4) then !第三个比第二个大4时
total=total+1
print *,prime(ii),prime(jj),prime(kk)
end if
end do
end if
end do
end do
!输出满足条件的素数一共有几组
print *,'total number=',total
stop
end