所以,我正在爲我的計算機科學課程介紹一項任務。分配如下。無法弄清楚如何在給定情況下對輸出進行編程
有一個有機體的人口可根據 以下原則確定:
有機體需要至少一個其他生物體進行傳播。因此,如果羣體達到1,那麼該生物將在一個時間週期(例如一個繁殖季節)中滅絕。在一個不尋常的事件中,偶數的生物體並不是一件好事。生物體將形成配對,並且從每一對中只有一個生物體能夠存活如果存在奇數個生物體並且這個數目大於1(例如,3,5,7,9,...),則這是有利於人口增長的 。生物體不能配對並且在一個時間週期內,每個生物體將產生2個其他生物體。另外,另一個 有機體將被創建。 (舉例來說,假設有3 生物體,因爲3是大於1的奇數,在一次 循環中,3個生物體中的每一個都會生成另外2個生物體,這就產生了另外的生物體。是一個更生物體 產生這樣的總將10個有機體,3張原稿逐 3產生6,然後1更多)
A:編寫測試初始種羣從1到100000的程序。 找到所有最終不會滅絕的種羣。
寫你的答案在這裏:
B:找出初始羣體,並最終進入 滅絕的價值,但有時間週期的最大數它了。
在這裏寫下你的答案:
什麼我迄今爲止的(缺乏sytanx)總的想法是這其中P代表人口
INT代= 0;
{
如果(P爲奇數)//我將使用一個模量改性劑除以2,並且如果結果不爲0然後我將知道它的奇
P = 3P + 1
別的
P = 1/2 P
幾代幾代= + 1
}
,我的問題是,我不確定如何告訴什麼號碼也不會滅絕或如何找出哪些人羣需要的時間最長去滅絕。任何的意見都將會有幫助。
整齊的作業。因此,我可以給你的一點建議是,你通常想從「自上而下」工作。您擁有的第一個(或最高級別)問題是通過「1至100,000」人羣循環。這聽起來像一個while循環。然後你必須處理這個循環中的「循環」,這將是第二個循環和第一個內部循環。在一個週期中,您必須確定前一個週期中創建的總體中產生的人口。一旦完成一個循環,您將要檢查人口是否大於1,如果不是則返回。 – MattSizzle
測試初始種羣價值最終不會絕跡,需要在種羣數量達到0之前進行世代交替 - 但如果它最終沒有滅絕,那麼您將永遠持續運行世代。這是暫停問題的定義:證明該方案是否會結束或沒有花費無限的時間來完成必要的inginite世代。 –
僅供參考,這實際上是Collatz猜想,目前仍未經證實的數學猜想,認爲該系列對每個數字都是有限的。 – dascandy