Fortran Coder

标题: 萌新求助,约瑟夫环问题 [打印本页]

作者: 暮年植杖    时间: 2019-4-29 11:56
标题: 萌新求助,约瑟夫环问题
如何用Fortran解决约瑟夫环问题
作者: liudy02    时间: 2019-4-29 16:22
这种问题太过分了
请自学链表的知识以及Fortran如何实现链表的知识
作者: weixing1531    时间: 2019-4-29 18:07
百度百科上有很多非链表方法
作者: liudy02    时间: 2019-4-29 18:46
weixing1531 发表于 2019-4-29 18:07
百度百科上有很多非链表方法

这种问题难道不就是用来做链表的练习的么……
作者: 青衣巷    时间: 2019-5-15 10:01
这里是一种非链表方法

[Fortran] 纯文本查看 复制代码
Program main
  Implicit None
  Integer , parameter :: N = 41 , K = 3
  logical :: isDie(N)
  integer :: nAlive , nCurr , i
  isDie = .false.
  nCurr = 1
  nAlive= N
  Do
    if( nAlive < K ) exit
    Do i = 1 , K
      nCurr = next()
    End Do
    isDie(nCurr) = .true.
    nAlive = nAlive - 1
  End Do
  Do i = 1 , N
    if( .not.isDie(i) ) write(*,*) i
  End Do
  
contains
  integer function next()
    integer :: nt
    nt = nCurr + 1
    do
      if( nt > N ) nt = 1
      if( .not.isDie(nt) ) then
        next = nt
        return
      end if
      nt = nt + 1
    end do
  end function next
End Program main





欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2