跟最大值最小化(最小值最大化)略有不同,列舉利率滿足=0剛好還完即可(坑點,浮點數有精度誤差,控制好),但大致上一樣。(其實我是先寫暴力列舉再改為二分列舉的。。)
注意幾點
1.經濟學常識,利率累加每月的額外支付不一樣(明白那個計算公式相當於judge函式)。
2.找到乙個滿足的就可以退出,不用再像最小值最大化再向右嘗試了。
3.控制好精度問題,<0.001有個wa,<0.0001即可
4.和那個問題不同,可能過程中沒有break直到最後退出,這時特判一下=r或l即可
1 #include 2 #include 3using
namespace
std;45
intmain()6
27else
283233}
34if(l>r) ans=r;35
36 cout<3738
return0;
3940 }
與之相似的還有小車問題
該題2種解法:
1.數學列解方程(有些不太好想方程不太好列,不推薦)
1 #include 2 #include3 #include 4 #include 5
using
namespace
std;67
intmain()
8
2.列舉答案二分(無腦列舉x點位置再控制精度即可,推薦簡單)(比較鍛鍊**能力和思維能力==要的就是這種分析解決問題的能力)
1 #include 2 #include 3using
namespace
std;45
intmain()6
28else
293334}
35//
if(l>r) ans=r;
3637
//cout<38
double p=ans/b+(s-ans)/a;
39 cout4041
42return0;
43 }
完。
洛谷 P1163 銀行貸款
當乙個人從銀行貸款後,在一段時間內他 她 將不得不每月償還固定的分期付款。這個問題要求計算出貸款者向銀行支付的利率。假設利率按月累計。輸入格式 輸入檔案僅一行包含三個用空格隔開的正整數。第乙個整數表示貸款的原值,第二個整數表示每月支付的分期付款金額,第三個整數表示分期付款還清貸款所需的總月數。輸出格...
P1163 銀行貸款
當乙個人從銀行貸款後,在一段時間內他 她 將不得不每月償還固定的分期付款。這個問題要求計算出貸款者向銀行支付的利率。假設利率按月累計。三個用空格隔開的正整數。第乙個整數表示貸款的原值,第二個整數表示每月支付的分期付款金額,第三個整數表示分期付款還清貸款所需的總月數。乙個實數,表示該貸款的月利率 用百...
P1163 銀行貸款(題目的題解,易理解)
p1163 銀行貸款 題目描述 當乙個人從銀行貸款後,在一段時間內他 她 將不得不每月償還固定的分期付款。這個問題要求計算出貸款者向銀行支付的利率。假設利率按月累計。輸入格式 三個用空格隔開的正整數。第乙個整數表示貸款的原值,第二個整數表示每月支付的分期付款金額,第三個整數表示分期付款還清貸款所需的...