大概想一下 随手写的 没测过
我知道应该会有问题
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
: 该怎么让她照题目的要求 每两个小时打印出结果
: 而不是照着细菌孳生的数目 ?