永发信息网

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
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯