主题:本人非常小白,求帮助
题目为求两整数之间所有完全平方数,然后写入一个文本文件。
题目注明要先做一个逻辑方程判定一个数是否为完全平方数,然后用这个方程判定两整数直接所有完全平方数,求高手看下下面有什么问题,还有如何计算写入文本文件的数据总个数?新手求指导啊。
program question_1
implicit none
integer::x,y,n
real::m
LOGICAL::IS_SQUARE
write(*,*) "please input the smaller integer:"
read(*,*) x
write(*,*) "please input the larger integer:"
read(*,*) y
OPEN(UNIT=12, FILE="squares.txt",STATUS = "new")
do n=x,y
m=sqrt( n*(1.0) )
if ( IS_SQUARE==.true.) then
write(12,"(/I)") n
end if
end do
close(12)
pause
end program question_1
LOGICAL FUNCTION IS_SQUARE(m)
IMPLICIT NONE
real,INTENT(IN) ::m
if (abs(m-nint(m))<0.001) then
IS_SQUARE=.true.
else
IS_SQUARE=.false.
end if
END FUNCTION IS_SQUARE
题目注明要先做一个逻辑方程判定一个数是否为完全平方数,然后用这个方程判定两整数直接所有完全平方数,求高手看下下面有什么问题,还有如何计算写入文本文件的数据总个数?新手求指导啊。
program question_1
implicit none
integer::x,y,n
real::m
LOGICAL::IS_SQUARE
write(*,*) "please input the smaller integer:"
read(*,*) x
write(*,*) "please input the larger integer:"
read(*,*) y
OPEN(UNIT=12, FILE="squares.txt",STATUS = "new")
do n=x,y
m=sqrt( n*(1.0) )
if ( IS_SQUARE==.true.) then
write(12,"(/I)") n
end if
end do
close(12)
pause
end program question_1
LOGICAL FUNCTION IS_SQUARE(m)
IMPLICIT NONE
real,INTENT(IN) ::m
if (abs(m-nint(m))<0.001) then
IS_SQUARE=.true.
else
IS_SQUARE=.false.
end if
END FUNCTION IS_SQUARE