一道面试题看社会现象

脚本之家看到的一个面试题

题目:
已知某公司总人数为W,平均年龄为Y岁(每年3月末计算,同时每年3月初入职新人),假设每年离职率为xx>0&&x<1,每年保持所有员工总数不变进行招聘,新员工平均年龄21岁。

从今年3月末开始,请实现一个算法,可以计算出第N年后公司员工的平均年龄。(最后结果向上取整)。

输入描述:
输入

W Y x N

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

输入例子:

5 5 0.2 3

输出例子:

15

请给出你的解决方案!

***
思路:
第一年的平均年龄 :Y1 = (W(1-x)(Y + 1) + 21Wx) / W = (1-x)(Y + 1) + 21x
第二年的平均年龄 :Y2 = (W(1-x)(Y1 + 1) + 21Wx) / W = (1-x)(Y1 + 1) + 21x
...
第n年的平均年龄 :Yn = (W(1-x)(Y(n-1) + 1) + 21Wx) / W = (1-x)(Y(n-1) + 1) + 21x
***
import math

def cal_vag_age(w, y, x, n):        
    if n == 1:
        return math.ceil( (1- x)*(y + 1) + 21 * x )
    else:
        return math.ceil( (1-x) * (cal_vag_age(w, y, x, n-1 ) + 1) + 21* x )

if __name__ == "__main__":    
    print("初期平均年龄为30的公司,保持10年,90%%离职率后的平均年龄为 %d" % cal_vag_age(20, 30, 0.9, 10))
    print("初期平均年龄为30的公司,保持10年,50%%离职率后的平均年龄为 %d" % cal_vag_age(20, 30, 0.5, 10))
    print("初期平均年龄为30的公司,保持10年,10%%离职率后的平均年龄为 %d" % cal_vag_age(20, 30, 0.1, 10))
    print("初期平均年龄为30的公司,保持10年,1%%离职率后的平均年龄为 %d" % cal_vag_age(20, 30, 0.01, 10))

初期平均年龄为30的公司,保持10年,90%离职率后的平均年龄为 22
初期平均年龄为30的公司,保持10年,50%离职率后的平均年龄为 23
初期平均年龄为30的公司,保持10年,10%离职率后的平均年龄为 31
初期平均年龄为30的公司,保持10年,1%离职率后的平均年龄为 40

发现
离职率越高,公司的员工平均年龄越低?这个现场是不是说明为什么公司总是不停的招人(为了公司更年轻)?就是为了让公司保持活力?老员工越来越不待见?心寒~~~~~~~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 几年前的一次别离还是懵懂的 几年后的今天 长大了 长大了 最美的词是虚惊一场 最难的词是再见。 最害怕的也是再见之...
    Cosmos宇宙君阅读 4,400评论 0 2
  • 作业:贪嗔痴谩,喜怒哀思悲恐惊,受想行识,眼耳鼻舌身意,色声香味触法……所以外界对我们的刺激,我们都会有不同的反应...
    向阳开延丽阅读 3,395评论 0 0
  • 一.上文回顾 上回我们主要从图片的合并、压缩等方面介绍前端性能优化问题(详见Java Web 前端高性能优化(一)...
    DavieKong阅读 3,130评论 0 1
  • 小庭闲坐秋已深,晚风吹雨影沉沉。 才闻又至重阳日,几多闲情应梦来。 万里行,几多秋,三句乡音话不...
    小王ba阅读 3,895评论 3 12
  • 男孩家里种了几亩西瓜地,女孩家里有一颗桃树。 女孩天天跟着男孩后面玩耍,女孩叫男孩西瓜,男孩叫女孩桃子。 西瓜成熟...
    溪人在他乡阅读 3,669评论 0 4

友情链接更多精彩内容