P1163 銀行貸款(題目的題解,易理解)

2021-10-09 23:32:48 字數 984 閱讀 5427

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.找到乙個滿足的就可以退出,不用再像最小值最大化再...