作业帮 > 综合 > 作业

关于FORTRAN的程序解释

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/07 20:39:12
关于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
这是求素数的一个程序,k是为了减少循环次数,因为只要能被开方以前的整除,就能被后面的所有数整除.
如果j>k,说明上面的do循环全部执行完了,也就说明没被任何数整除,即该数未素数.
j =2,k,如果全部循环完,实际上j就等于k+1,所以j>k.