fortran问题
答案:1 悬赏:30 手机版
解决时间 2021-03-04 09:15
- 提问者网友:感性作祟
- 2021-03-03 08:44
fortran问题
最佳答案
- 五星知识达人网友:零点过十分
- 2021-03-03 10:11
因为只需计算到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
!
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
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯