查看單個文章
舊 2005-10-12, 03:39 PM   #3 (permalink)
mini
管理版主
 
mini 的頭像
榮譽勳章
UID - 4144
在線等級: 級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時
註冊日期: 2002-12-07
文章: 13343
精華: 0
現金: 26452 金幣
資產: 3024312 金幣
預設

http://www.cnpedia.com/Result/Eword....or%20(FORTRAN)
的確很古老 ^^ (幾乎只記得名字 其他什麼都不記得了)
教學 : http://140.136.191.181/html/frank/do...tran/index.htm


所謂質數(prime numbers)就是「除了自身和1 之外,找不到任何數可以整除該數」的整數。

好像可以用 mod 餘數涵式來解
不過個人的直覺是用兩個迴圈來運算
i=2 to 100
j=2 to i

再加一個判斷是否是質數的計數旗標 prime_number=1
整數變數 = i / j
浮點變數 = i / j
當 浮點變數 = 整數變數 時 prime_number=prime_number-1

結束 j 迴圈後隨即判斷 prime_number是否為0
是的話即列印

因為 整數變數 只能裝 整數 所以 會與 浮點變數 差在 小數點
舉例
整數變數 = i / j ; 5/2=2
浮點變數 = i / j ; 5/2=2.5

整數變數 = i / j ; 5/3=1
浮點變數 = i / j ; 5/3=1.6666

整數變數 = i / j ; 5/4=1
浮點變數 = i / j ; 5/4=1.25

整數變數 = i / j ; 5/5=1
浮點變數 = i / j ; 5/5=1
所以只有最後一次符合 prime_number 會等於 0
5 是質數


以上如有錯誤怪
mini 目前離線  
送花文章: 2013, 收花文章: 8002 篇, 收花: 26806 次
回覆時引用此帖