平均年龄(公式)
来源:互联网 发布:淘宝胖驴户外怎么样 编辑:程序博客网 时间:2024/06/10 17:37
题目描述
已知某公司总人数为W,平均年龄为Y岁(每年3月末计算,同时每年3月初入职新人),假设每年离职率为x,x>0&&x<1,每年保持所有员工总数不变进行招聘,新员工平均年龄21岁。
从今年3月末开始,请实现一个算法,可以计算出第N年后公司员工的平均年龄。(结果向上取整)。
输入描述:
输入W Y x N
输出描述:
输出第N年后的平均年龄
输入例子:
3
输出例子:
5
首先吐槽下这个题目,出的真是有问题,题目的例子都不给清楚,给个3输出5这是啥意思。应该是输入n输出平均年龄,因为w、y、x相当于是一个固定的变量可以动态变化,只要用公式就可以解决了。题目的一个具体例子,输入133 26 0.01 64,输出71
题目分析
离职的员工个数 = 所有员工w * 离职率 ,(这个时候应该向上取整吧,个人感觉)
新加的员工个数 = 离职员工个数
平均年龄 = Math.ceil((所有员工w - 离职员工) * (当前年龄 + 1) + 新加员工 * 21)/所有员工
平均年龄向上取整
这样看是没问题,但是题目给的就是有问题,按题目的意思要进行化简,( ╯□╰ )
平均年龄 = Math.ceil((w - w*x) * (y + 1) + w * x * 21)/w)然后可以化简w把w去掉因为没有去掉w计算的时候又会有问题,会有误差( ╯□╰ )。。所以最后
平均年龄 = Math.ceil((1 - x) * (y + 1) + x * 21)
完全是一个公式题啊。。。。。。没啥意义就记录下而已( ╯□╰ )
public static int getAvgAge(int w,int y,double x,int year){ int i; double avgAge = y; for(i = 1; i <= year; i++){// System.out.println(i+" "+avgAge); avgAge =(1 - x)*(avgAge+1)+21*x; }// System.out.println(avgAge); return (int)Math.ceil(avgAge); }
目前研究于Spark与Hadoop,群QQ号:521066396(spark,hadoop交流群),欢迎加入共同学习,一起进步~
- 平均年龄(公式)
- 平均年龄
- 平均年龄
- 平均年龄
- 平均年龄
- 1001 求平均年龄
- 01:求平均年龄
- 平均年龄(数学计算)
- 算法题 平均年龄
- CCF NOI1022 平均年龄
- 01:求平均年龄
- 1. 求平均年龄
- CFF 1022 平均年龄
- ACM java求平均年龄
- 题目1128:求平均年龄
- 题目1128:求平均年龄
- 题目1128:求平均年龄
- 题目1128:求平均年龄
- quartz spring 实现动态定时任务
- 173. Binary Search Tree Iterator
- 如何让url超链接a标签发送post请求
- php xml接口调用
- int a[], &a与a的区别
- 平均年龄(公式)
- 测试队列的长度
- 函数声明与函数表达式的区别
- 微信红包系统设计分享 | 如何扛住100亿次请求
- 离屏 渲染
- 项目总结二
- 二维运动物体坐标提取软件
- C++ primer 5th 习题之4.21
- iOS 基本编码格式转化