看板 Fortran 關於我們 聯絡資訊
我會! real*4, or real*8 都可以。 real*4 x, y, z; x= 16.0 y= sqrt(x) iy= int(y + 0.5) ! int() 還要 查ㄧ下,目的是 把 y 四捨五入, ! 取最接近的 整數 if (rel_diff(iy, y) < 1.0e-5) then ! y 是整數 else ! y 不是整數 end if ! rel_diff(a, b) 是自己寫的 副程式, 計算 a, b 的相對誤差 ! 相對誤差等於 = (abs_diff(a, b))/max(abs(a), abs(b)) ! abs_diff(a, b) 是自己寫的副程式,求 a, b 兩個數字的 絕對誤差 ! 絕對誤差= abs(a - b) ※ 引述《pillbox1989 (如履薄冰)》之銘言: : 我想要確定開方後的值是整數 : 利用if 判斷 : 但是一直想不到限制條件可以打甚麼? : 還是有其他更好的方法呢? : 謝謝大家 -- e-mail: sjgau4311@gmail.com 我的課程介紹網頁: http://www.csie.ntu.edu.tw/train/teacher_display.php?num=18 AutoCAD 台灣地區菁英講師獲選 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.83.181.85
sjgau:如果是 real*8 的話,rel_diff(y, iy) < 1.0e-14 12/25 21:37
Cypresslin:第五行,不是int,應該是nint 12/27 14:14