每日编程-20170317

题目:已知某公司总人数为W,平均年龄为Y岁(每年3月末计算,同时每年3月初入职新人),假设每年离职率为x,x>0&&x<1,每年保持所有员工总数不变进行招聘,新员工平均年龄21岁。
从今年3月末开始,请实现一个算法,可以计算出第N年后公司员工的平均年龄。(最后结果向上取整)。
输入描述:
输入W Y x N

输出描述:
输出第N年后的平均年龄

输入例子:
5 5 0.2 3

输出例子:
15

解答:

一开始忘了算老员工每年年龄都会+1……

 1 #include <iostream>
 2 #include <string>
 3 #include <vector>
 4 #include <math.h>
 5 using namespace std;
 6 
 7 double W, Y, N;
 8 double x;
 9 double calc(double y) { return (y+1) * (1 - x) + 21 * x;}
10 int main() {
11     cin >> W >> Y >> x >> N;
12     for (auto i = 0; i < N; i++)    Y = calc(Y);
13     cout << ceil(Y);
14 }
原文地址:https://www.cnblogs.com/linhaowei0389/p/6566928.html