本文将为大家带来“利润计算”算法的一个解法与详细解释,方法不唯一,本篇文章只列举出一种方法。
一、 题目
题目描述:
企业发放的奖金根据利润提成。利润低于或等于100000元的,奖金可提10%;
利润高于100000元,低于200000元(100000<I≤200000)时,低于100000元的部分 按10%提成,高于100000元的部分,可提成 7.5%;
200000<I≤400000时,低于200000元部分仍按上述办法提成,(下同),高于 200000元的部分按5%提成;
400000<I≤600000元时,高于400000元的部分按3%提成;
600000<I≤1000000时,高于600000元的部分按1.5%提成;
I>1000000时,超过1000000元的部分按1%提成。从键盘输入当月利润I,求应发奖金总数。
输入:一个整数,当月利润。
输出:一个整数,奖金。
运行结果:
样例输入:900
样例输出:90
先来看下运行截图:
二、代码
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int getMoney;
int money = input.nextInt();
if (money <= 100000) {
getMoney = (int) (money * 0.1);
} else if (money <= 200000) {
getMoney = (int) (100000 * 0.1 + (money - 100000) * 0.075);
} else if (money <= 400000) {
getMoney = (int) (100000 * 0.1 + 100000 * 0.075
+ (money - 200000) * 0.05);
} else if (money <= 600000) {
getMoney = (int) (100000 * 0.1 + 100000 * 0.075
+ 200000 * 0.05 + (money - 400000) * 0.03);
} else if (money <= 1000000) {
getMoney = (int) (100000 * 0.1 + 100000 * 0.075
+ 200000 * 0.05 + 200000 * 0.03
+ (money - 600000) * 0.015);
} else {
getMoney = (int) (100000 * 0.1 + 100000 * 0.075
+ 200000 * 0.05 + 200000 * 0.03
+ 400000 * 0.015 + (money - 1000000) * 0.01);
}
System.out.println(getMoney);
}
三、讲解
差值!
在(200000, 400000]区间,计算过程中,超过100000而不超过200000的部分其实是200000和100000的差值,即100000,
后面的几个区间的计算也是同理
希望本篇文章可以给您带来收获,有兴趣的小伙伴点个关注一起学习吧。