Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Fortran 按顺序生成一对数字_Fortran - Fatal编程技术网

Fortran 按顺序生成一对数字

Fortran 按顺序生成一对数字,fortran,Fortran,我需要一些使用FORTRAN代码生成订单中的数字对的帮助 顺序如下 回路1: 1,2,3,4,5,6,7,8。。。。。直到我才知道fortran,但是这个伪代码可能会帮助您: let i := 1 let n := 1 while i <= 100 do while n <= 2000 do print n n := n + i print ",", n, " " done print "\n" i := i + 1 done 设i:=1

我需要一些使用FORTRAN代码生成订单中的数字对的帮助

顺序如下

回路1:
1,2,3,4,5,6,7,8。。。。。直到我才知道fortran,但是这个伪代码可能会帮助您:

let i := 1
let n := 1

while i <= 100 do
  while n <= 2000 do
    print n
    n := n + i
    print ",", n, " "
  done
  print "\n"
  i := i + 1
done
设i:=1
设n:=1

而我这是一种方法编辑:格式正确

program loopJump

  implicit none
  !

  integer :: i,j,k
  integer :: loopend
  character(len=*),parameter :: fmt1 = "('loop_',I1,' ',I4)"
  character(len=*),parameter :: fmt2 = "(', ',I4,', ',I4 )"

  do k = 1, 6
     write(*,fmt1,advance='NO') k,1
     loopend = (2000-1)/k
     do i =  1, loopend

        j=1+i*k
        write(*,fmt2,advance='NO') j,j
     enddo
     write(*,fmt="(2X)")
  enddo

  stop

end program
EDIT2:仔细观察后,Kerrek SB似乎通过上面的评论回答了这个问题。使用该方法,循环将如下所示:

 do k = 1, 6
     write(*,fmt1,advance='NO') k,1
     do i =  k+1, 20, k
        write(*,fmt2,advance='NO') i,i
     enddo
     write(*,fmt="(2X)")
 enddo

您的内部变量
i
必须在内部循环中按
k
前进,而不是按1前进。您的想法也帮助了我。谢谢
 do k = 1, 6
     write(*,fmt1,advance='NO') k,1
     do i =  k+1, 20, k
        write(*,fmt2,advance='NO') i,i
     enddo
     write(*,fmt="(2X)")
 enddo