北京地鐵調價后的每月地鐵費用如何算


2014-12-28,北京地鐵大調價。可以通過這個地址來查單程票價:http://piaojia.bmncc.com.cn/

公告文如下:

    北京市公共交通價格新政
    於2014年12月28日起實施
    引京發改[2014]2526號
    地鐵票價: 6公里(含)內3元;6公里至12公里(含)4元;12公里至22公里(含)5元;22公里至32公里(含)6元;32公里以上部分,每增加1元可乘坐20公里。
    優惠政策: 使用市政交通一卡通刷卡乘坐軌道交通,每自然月內每張卡支出累計滿100元以后的乘次,價格給予8折優惠;滿150元以后的乘次,價格給予5折優惠;支出累計達到400元以后的乘次,不再享受打折優惠。

其中,優惠政策的理解,容易引起誤會,例如,不優惠的話,一月要花220元,那優惠后的花費是多少?

容易誤寫的算法如下,它算出的結果是月消費175元:

function getFavorableFee(fee){
    if (fee > 400) { 
        return fee-135; //(fee-400)+265;
    } else if (fee > 150) {
        return fee/2+65; //(fee-150)/2+140;
    }else if (fee > 100) {
        return fee*0.8+20;//(fee-100)*0.8+100;
    }else {
        return fee;
    }
}

由於優惠政策上說的是“每自然月內每張卡支出累計滿”150至400元時,才按50%優惠,我們在第十六天時,卡里累計支出才140元(優惠前應該150,由於有優惠,實際只花了140元),所以還是按80%來優惠。
即:第16日花的10元錢,是按80%優惠,而不是50%優惠。

所以,算法需要調整一下,如下,新的結果是月消費178.75元

function getFavorableFee2(fee){
    if (fee > 662.5) { //662.5 = 100 + 50/0.8 + 250/0.5
        return fee-262.5;
    } else if (fee > 162.5) { //162.5 = 100 + 50/0.8
        return fee/2+68.75; //(fee-162.5)/2+150;
    }else if (fee > 100) { 
        return fee*0.8+20;//(fee-100)*0.8+100;
    }else {
        return fee;
    }
}


總的示例如下:

 

每日地鐵費:
每月按22工作日算,每月:
優惠后每月(理論值,僅供參考):178.75


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM