作者elence (怎麽那麽冷ㄚ>"<)
看板CTSH92301
标题帮我帮我....看看有没有人会写
时间Tue Dec 23 00:12:53 2003
这是我的计程作业 超难的 有没有人会阿......救救我吧.....
是用c写的喔^^
计算机程式作业八 缴交期限12月25日星期四
自从人类发明抗生素开始,就与细菌展开一场无止境的战争。靠着强大的繁殖能力与突变
能力,近年来细菌有逐渐占上风的趋势。在本题中读者要写一个程式模拟细菌与抗生素的
战争
假设有一种细菌,其基因序列为ACGACGACG共9码。这种细菌每30分钟分裂一次,每一个细
菌每次分裂成为两个。其中一个保有原来的基因序列,另一个则有p的突变机率。突变时基因
序列中一个码会随机成为A、C、G、T其中的一个(换句话说,突变的结果有四分之一的可
能在突变後还是与原来相同的)。
为了对付这种细菌,人类发明了一种抗生素。这种抗生素能将基因序列中含有「ACG」者杀
死。因此如果没有突变,不论细菌如何繁殖,使用了这种抗生素後细菌将全数绝灭。但实
际上,将会有一部份的细菌在突变数次之後,其基因序列中完全没有「ACG」,因此抗生素就
失效,也就是产生抗药性了。
试写一个程式,估计在p = 0.05时,细菌要多少代才能产生20个具有抗药性的个体。
你可以作以下假设:(1)开始时只有1个细菌;(2)在繁殖时未使用抗生素而且细菌也不会死
亡。
程式中可以使用下列structure代表细菌:
struct sBac {
char DNA[10];
};
在程式中你需要以动态方式取得struct sBac的阵列。每当细菌增加致使阵列不敷使用时,
利用realloc( )将可用空间扩增为两倍。
程式请输出下列数据:(1)细菌总共繁殖了几代才产生20个具抗药性的个体?(2)真正具有
抗药性的个体有几个?(3)总个体数有几个?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.116.105.1
1F:→ philipwen:懒的看字了 有空在帮你吧 推 140.129.38.111 12/23
2F:→ fartg8man:= =||..我们要2年级才学C... 推218.165.155.230 12/23