/* 名企招聘:2016美團研發工程師筆試題 已知某公司總人數為W,平均年齡為Y歲(每年3月末計算,同時每年3月初入職新人), 假設每年離職率為x,x>0&&x<1,每年保持所有員工總數不變進行招聘,新員工平均年齡21歲。 從今年3月末開始,請實現一個算法,可以計算出第N年后公司員工的平均年齡。(結果向上取整)。*/#include<stdio.h>float x = 0.2;int Y0 = 30;int GetAverageYear(int year);int main(void){ int year = 5; PRintf("%d年之員工的平均年齡為%d/n",year,GetAverageYear(1)); return 0;}/************************************************ 函數 名 : GetAverageYear* Parameter:int year* 函數說明:算法的狀態方程為: Y(i)=(1-x)*Y(i-1)+21*x 結束條件為:Y > 0;* 返回值 : int* 作者 : qiaqia* 創建時間:2017/02/16***********************************************/int GetAverageYear(int year){ float tmp_float = 0.0; int tmp_int = 0; if (year>0) { tmp_float = (1 - x)*GetAverageYear(year - 1) + 21 * x; tmp_int = (tmp_float - (int)tmp_float > 0.0) ? (int)tmp_float + 1 : (int)tmp_float; return tmp_int; }else { return Y0; }}
新聞熱點
疑難解答