其他分享
首页 > 其他分享> > 2022-6-7 真题练习

2022-6-7 真题练习

作者:互联网

MT6 平均年龄   warning 校招时部分企业笔试将禁止编程题跳出页面,为提前适应,练习时请使用在线自测,而非本地IDE。

描述

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

输入描述:

输入W Y x N

输出描述:

输出第N年后的平均年龄
 1 import java.util.Scanner;
 2 
 3 public class Main {
 4 
 5     public static void main(String[] args) {
 6         Scanner sc = new Scanner(System.in);
 7         while (sc.hasNext()){
 8             int w = sc.nextInt();
 9             double y = sc.nextDouble();
10             double x = sc.nextDouble();
11             int n = sc.nextInt();
12             sc.nextLine();
13             double leave=x*w;
14             double total=w*y;
15             for (int i=0;i<n;i++){
16                 y=total/w;
17                 total+=leave*(21-y);
18                 // 每过一年 原有公司的员工年龄要增加一岁
19                 total+=(w-leave);
20             }
21             System.out.println((int)Math.ceil(total/w));
22         }
23 
24     }
25 }

思路:主要是数据的中间计算不需要处理为整数,其次是每过一年 原有公司的员工年龄要增加一岁

标签:le,Scanner,真题,int,double,平均年龄,练习,2022,sc
来源: https://www.cnblogs.com/benbicao/p/16351351.html