关于FORTRAN的程序解释PROGRAM EX3implicit noneinteger n,i,k,jprint*,'Input a number:'read*,n  if (n==1) then print*,'This is not a prime number!'end if do i=2,n k=sqrt(real(i)) do j=2,k  if(mod(i,j) == 0) exit end do if (j>

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/05 05:41:08
关于FORTRAN的程序解释PROGRAM EX3implicit noneinteger n,i,k,jprint*,'Input a number:'read*,n  if (n==1) then  print*,'This is not a prime number!'end if do i=2,n  k=sqrt(real(i))  do j=2,k    if(mod(i,j) == 0) exit  end do if (j>

关于FORTRAN的程序解释PROGRAM EX3implicit noneinteger n,i,k,jprint*,'Input a number:'read*,n  if (n==1) then print*,'This is not a prime number!'end if do i=2,n k=sqrt(real(i)) do j=2,k  if(mod(i,j) == 0) exit end do if (j>
关于FORTRAN的程序解释
PROGRAM EX3
implicit none
integer n,i,k,j
print*,'Input a number:'
read*,n
 if (n==1) then
 print*,'This is not a prime number!'
end if
 do i=2,n
 k=sqrt(real(i))
 do j=2,k 
 if(mod(i,j) == 0) exit
 end do
 if (j>k) then
 write(*,*) i
end if
end do
end
如何解释K 因为K最后不是integer.
如何解释if (j>k),因为j =2,k

关于FORTRAN的程序解释PROGRAM EX3implicit noneinteger n,i,k,jprint*,'Input a number:'read*,n  if (n==1) then print*,'This is not a prime number!'end if do i=2,n k=sqrt(real(i)) do j=2,k  if(mod(i,j) == 0) exit end do if (j>
这是求素数的一个程序,k是为了减少循环次数,因为只要能被开方以前的整除,就能被后面的所有数整除.
如果j>k,说明上面的do循环全部执行完了,也就说明没被任何数整除,即该数未素数.
j =2,k,如果全部循环完,实际上j就等于k+1,所以j>k.