首页新闻找找看学习计划

请大家帮忙看看,算术问题!

0
悬赏园豆:15 [已解决问题] 解决于 2018-11-16 14:26

题:
企业发放的奖金根据利润提成。利润 (I) 低于或等于 10 万元时,奖金可提 10% ;利润高于 10 万元,低于 20 万元时,低于 10 万元的部分按 10% 提成,高于 10 万元的部分,可提成 7.5% ; 20 万到 40 万之间时,高于 20 万元的部分,可提成 5% ; 40 万到 60 万之间时高于 40 万元的部分,可提成 3% ; 60 万到 100 万之间时,高于 60 万元的部分,可提成 1.5% ,高于 100 万元时,超过 100 万元的部分按 1% 提成,从键盘输入当月利润 I ,求应发放奖金总数

代码一:
var i = window.prompt('利润','i');
var jj = 0;
if(i <= 100000){
jj = i * 0.1;
}else if(i <= 200000){
jj = i * 0.075;
}else if (i <= 400000){
jj = i * 0.05;
}else if (i <= 600000){
jj = i * 0.03;
}else if(i <= 1000000){
jj = i * 0.015;
}else if(i > 1000000){
jj = i * 0.01;
}
console.log(jj);

代码二:
var i = window.prompt("请输入利润","i");
var bonus;
if(i<=100000)
{
bonus=i0.1;
}
else if(i<=200000)
{
bonus=i
0.1+(i-100000) * 0.075;
}
else if (i<=400000)
{
bonus=i * 0.1+100000 * 0.075+(i-200000) * 0.05;
}
else if(i<=600000)
{
bonus=i * 0.1+100000 * 0.075+200000 * 0.05+(i-400000) * 0.03;
}
else if(i<=1000000)
{
bonus=i * 0.1+100000 * 0.075+200000 * 0.05+400000 * 0.03+(i-600000) * 0.015;
}
else if (i>1000000)
{
bonus=i * 0.1+100000 * 0.075+200000 * 0.05+400000 * 0.03+600000 * 0.015+(i-1000000) * 0.01;
}
console.log(bonus);

请问代码一有问题吗(计算上),代码二算出来和实际中感觉不一样!算术不太好,请指点!

ln0909的主页 ln0909 | 初学一级 | 园豆:153
提问于:2018-11-16 14:01
< >
分享
最佳答案
0

反向算,先算超出100W的,之后把超出的这部分利润减掉。再算超出60W的。以此类推。
比如利润120W
var total=120;
(total-100)*0.01
total=total-(total-100)
。。。

收获园豆:15
清海扬波 | 小虾三级 |园豆:841 | 2018-11-16 14:12

我的意思是:不是代码,而是算法。这2个算法谁对,谁错!为什么?

ln0909 | 园豆:153 (初学一级) | 2018-11-16 14:18

@ln0909: 第二个是对的

清海扬波 | 园豆:841 (小虾三级) | 2018-11-16 14:20

@清海扬波: 我突然明白了!

ln0909 | 园豆:153 (初学一级) | 2018-11-16 14:22

@ln0909: 第一个种算法,利润10W,提成1W,利润100W,提成1.5W。先不考虑算法,这样做的公司注定要倒闭的。

清海扬波 | 园豆:841 (小虾三级) | 2018-11-16 14:22

@清海扬波: 是我曲解了题意

ln0909 | 园豆:153 (初学一级) | 2018-11-16 14:22
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册