作者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