看板 Fortran 關於我們 聯絡資訊
大概想一下 隨手寫的 沒測過 我知道應該會有問題 implicit none integer i,j,k real a,b a=1. b=1. do i=1,24*60 if(mod(i,90).eq.0) a=a*2. if(mod(i,70).eq.0) b=b*2. if(mod(i,900).eq.0) a=a*0.999 if(mod(i,200).eq.0) b=b*0.99 if(mod(i,2*60).eq.0) print*,'survile bacteria A:',a,' B:',b enddo stop end try it! ※ 引述《s23325522 (披著狼皮的羊)》之銘言: : 科學家新發現兩種產氫細菌,某生化工程師想利用它門產製氫氣。首先他要決定 : 選用哪種細菌較好,所以他要比較這兩種微生物的生長速率,因此他在實驗室裡 : 以適當的兩種培養基培養這兩種微生物。他發現細菌 A 每 90 分鐘會分裂一次, : 而細菌 B則每70 分鐘分裂一次。當然,也有一小部分的微生物會因種種原因而 : 死亡;細菌 A 的死亡率是每 900 分鐘族群中的千分之一會死亡,而細菌 B 則是 : 每 200 分鐘族群中的百分之一會死亡。假設實驗開始時,在每種培養基裡只有一 : 個細菌。寫一個程式計算從開始至 24 小時止,每隔 2 小時,在培養基裡的細菌 : 數目及兩者的數量差異為何,同時對兩者的生長速率做個結論。 : 上面是題目 : 目前我寫出的程式碼: : program main : implicit none : integer i,sumA,sumB : integer ::counter=1440 : sumA=1 : do i=90,counter,90 : sumA=sumA*2 : write(*,*)'細菌a的數目',sumA : end do : sumB=1 : do i=70,counter,70 : sumB=sumB*2 : write(*,*)'細菌B的數目',sumB : end do : end : 該怎麼讓她照題目的要求 每兩個小時列印出結果 : 而不是照著細菌孳生的數目 ? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.160.148.103 ※ 編輯: george1224 來自: 118.160.148.103 (03/19 23:10)
s23325522:thx!但MOD的用法沒有教到 我們是用FORTRAN 2003這本書 03/20 09:41
Cypresslin:Fortran 2003 Handbook? see "Modulo" 03/20 11:43
sin55688:不贊成直接幫他打好架構,原PO不自己想,永遠學不會 03/20 14:47
george1224:所以這個程式有問題 需要去解決的~ 03/21 00:59
blc:mod是餘數不是module。 03/23 15:27
blc:啊啊,看錯,sorry 03/23 15:28