p1163 銀行貸款
題目描述
當乙個人從銀行貸款後,在一段時間內他(她)將不得不每月償還固定的分期付款。這個問題要求計算出貸款者向銀行支付的利率。假設利率按月累計。
輸入格式
三個用空格隔開的正整數。
第乙個整數表示貸款的原值,第二個整數表示每月支付的分期付款金額,第三個整數表示分期付款還清貸款所需的總月數。
輸出格式
乙個實數,表示該貸款的月利率(用百分數表示),四捨五入精確到0.1%0.1%。
輸入輸出樣例
輸入1000 100 12
輸出2.9
這道題是一道典型的二分題
思路:這道題主要就是在那個月利率上,因為國家規定月利率不得大於2.5%,所以我們可以從2.5出發(0+500)/2/100出發,開始使用二分逐步細化,那個check()函式主要是用來判斷利率的大小,其中的for迴圈是用來計算c各月中的欠款和還款情況.
(舉例說明:那麼對於第 1 個月,他欠銀行 a+ax ,但由題意得,他每個月向銀行還 b 元錢,所以下個月前還欠銀行 a+ax-b;來到第 2 個月,欠銀行 (a+ax-b)+(a+ax-b)*x ,還款 b 元,以此類推,直到第 c 個月後,求出他還欠銀行的錢數;如果欠的錢數 ≤ 0 ,說明在月利率為 x 的情況下,每月還 b 元是可以還清的,返回 true,反之,返回 false;)
#include
#include
#include
#include
using
namespace std;
int a,b,c;
bool
check
(double x)
if(sum<=0)
else
}int
main()
else
}printf
("%.1f\n"
,l);
}}
P1163 銀行貸款
當乙個人從銀行貸款後,在一段時間內他 她 將不得不每月償還固定的分期付款。這個問題要求計算出貸款者向銀行支付的利率。假設利率按月累計。三個用空格隔開的正整數。第乙個整數表示貸款的原值,第二個整數表示每月支付的分期付款金額,第三個整數表示分期付款還清貸款所需的總月數。乙個實數,表示該貸款的月利率 用百...
洛谷 P1163 銀行貸款
當乙個人從銀行貸款後,在一段時間內他 她 將不得不每月償還固定的分期付款。這個問題要求計算出貸款者向銀行支付的利率。假設利率按月累計。輸入格式 輸入檔案僅一行包含三個用空格隔開的正整數。第乙個整數表示貸款的原值,第二個整數表示每月支付的分期付款金額,第三個整數表示分期付款還清貸款所需的總月數。輸出格...
洛谷P1163銀行貸款(經典二分答案入門題)
跟最大值最小化 最小值最大化 略有不同,列舉利率滿足 0剛好還完即可 坑點,浮點數有精度誤差,控制好 但大致上一樣。其實我是先寫暴力列舉再改為二分列舉的。注意幾點 1.經濟學常識,利率累加每月的額外支付不一樣 明白那個計算公式相當於judge函式 2.找到乙個滿足的就可以退出,不用再像最小值最大化再...