作者latinboy (昵称)
看板Fortran
标题Re: [问题] 可以判断整数吗?
时间Sat Dec 25 19:40:19 2010
※ 引述《pillbox1989 (如履薄冰)》之铭言:
: 我想要确定开方後的值是整数
: 利用if 判断
: 但是一直想不到限制条件可以打甚麽?
: 还是有其他更好的方法呢?
: 谢谢大家
integer n
real*8 ans, x
ans = x ** (1.d0/n) !! ans=对x开n次方
if ( anint(ans) == ans ) then
print *, 'ans是整数'
end if
anint()是内建函数 会传回最接近的整数值
如果ans是3.0会传回3.0 如果ans是2.95也会传回3.0
但是 由於浮点数运算的限制
原本答案应该是3.0000也可能变成2.99999这种浮点运算误差
判断就会失误
这个小问题该如何解决?? 交给你自己玩玩
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 58.115.24.73
1F:推 pillbox1989:好的我试试看 谢谢您~ 12/25 20:23