作者antn (我使用的是T1窄頻)
看板CTSH92301
標題Re: 幫我幫我....看看有沒有人會寫
時間Tue Dec 23 01:14:54 2003
※ 引述《elence (怎麼那麼冷ㄚ>"<)》之銘言:
: 這是我的計程作業 超難的 有沒有人會阿......救救我吧.....
: 是用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];
若pointer 教過, 建議用 char *DNA;
要用到時, 再 sBac = new char[x];
x 為變數, 這樣就可以自己改變他的大小
可以先給x 初值 int x = 10, 當不敷使用
時 if (某某 超過x) x = 20, 其他output
部分只是數學計算問題, 我想你的作業目的
只是在如何使用struct吧...
: };
: 在程式中你需要以動態方式取得struct sBac的陣列。每當細菌增加致使陣列不敷使用時,
: 利用realloc( )將可用空間擴增為兩倍。
: 程式請輸出下列數據:(1)細菌總共繁殖了幾代才產生20個具抗藥性的個體?(2)真正具有
: 抗藥性的個體有幾個?(3)總個體數有幾個?
--
剛毅木訥 不善言詞 是我行為的標竿 忠厚老實 誠懇純樸 是我的為人
腳踏實地 不投機取巧 是我做人的準則 各科歐趴 順利升上大3 是我的目標
gan ,cow8 ,sashou 絕口不提
不嗆同學 {不近女色} 不翹課 不打瞌睡 是我目前的成就和驕傲
誠實可靠小郎君 是我的綽號
童叟無欺 真槍實彈 把antn徹底解剖分析 是我的[簽名黨]
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.162.193.211
1F:→ iammai:我怎麼看你的做法都是C++..因為我沒見過 推140.114.221.134 12/23
2F:→ antn:C++的時代來臨~~用C的太落伍了啦~~ 推218.162.192.248 12/23