codewar 小鎮人口增長

2021-10-06 06:50:09 字數 843 閱讀 7330

在人口基數 p0 = 1000 的小鎮上,每年定期增長2%;每年有 50 個新居民來小鎮居住,城鎮需要多少年居民人數能大於等於1200?

第一年有:

1000 + 1000 * 0.02 + 50 => 1070 居民

第二年有:

1070 + 1070 * 0.02 + 50 => 1141 居民

第三年有:

1141 + 1141 * 0.02 + 50 => 1213 居民

所以在第三年就達到大於等於 1200

所以給定人口基數 p0,每年增長率 percent,每年新來或離開的居民人數 aug,最後的目標數 p。封裝乙個函式,輸入以上引數,可以得到幾年可以獲得大於等於 p 的人數。

用遞迴做

function nbyear(p0, percent, aug, p) 

return num;

}

測試用例

test.assertequals(nbyear(1500, 5, 100, 5000), 15);

test.assertequals(nbyear(1500000, 2.5, 10000, 2000000), 10);

test.assertequals(nbyear(1500000, 0.25, 1000, 2000000), 94);

遇到的問題:num清零,在一開始定義了 num = 0; 在遞迴的時候就會不斷重複生成區域性變數 num,最外層 num 返回的是 1。

如果在函式之外設定全域性變數 num = 0,那麼生成的結果會疊加,上一次返回的 num 數會加上這次返回的 num 數,導致結果出錯。

找到小鎮的法官

在乙個小鎮裡,按從 1 到 n 標記了 n 個人。傳言稱,這些人中有乙個是小鎮上的秘密法官。如果小鎮的法官真的存在,那麼 小鎮的法官不相信任何人。每個人 除了小鎮法官外 都信任小鎮的法官。只有乙個人同時滿足屬性 1 和屬性 2 給定陣列 trust,該陣列由信任對 trust i a,b 組成,表示...

哈哈機械人送到冰雪小鎮 感受了一下機械人送餐服務

應該說,很好玩的,因為要錄頻,也沒和他拍照,然後他就頭也不回的走了,哈哈!這也不算是第一次享受機械人的服務了,有一回和學生吃午飯時,記得是在西貝莜面村,餐廳就穿梭著機械人在往各桌送菜,當然,最後還是要由服務員端到桌上,也可以顧客自己動手。由於這些送餐的機械人的存在,餐廳的氛圍就顯得不太一樣啦。但還是...

參觀雲棲小鎮體會 我院留學生赴雲棲小鎮參觀學習

2019年11月19日下午,來自日本 泰國 俄羅斯 印度尼西亞 摩洛哥 哈薩克等國的20名留學生應邀來到位於杭州市西湖區的雲棲小鎮參觀學習,外國語學院商務英語系的師生一同前往。隨後,大家又來到百草園展廳進行參觀,該展廳主要展示的是 雲棲十年,泗鄉千年 的變遷,展館內近30件藏品既有藝術家的創意作品,...