銀行貸款的等額本息還款方法是:
每月還固定的金額,在約定的期數內正好還完(最後乙個月可能會有微小的零頭出入)。
比如說小明在銀行貸款1萬元。貸款年化利率為5%,貸款期限為24個月。
則銀行會在每個月進行結算:
結算方法是:計算本金在本月產生的利息: 本金 x (年利率/12)
則本月本金結餘為:本金 + 利息 - 每月固定還款額
計算結果會四捨五入到「分」。
經計算,此種情況下,固定還款額應為:438.71
這樣,第一月結算時的本金餘額是:
9602.96
第二個月結算:
9204.26
第三個月結算:
8803.9
....
最後乙個月如果仍按固定額還款,則最後仍有0.11元的本金餘額,
但如果調整固定還款額為438.72, 則最後乙個月會多還了銀行0.14元。
銀行會選擇最後本金結算絕對值最小的情況來設定 每月的固定還款額度。
如果有兩種情況最後本金絕對值相同,則選擇還款較少的那個方案。
本題的任務是已知年化利率,還款期數,求每月的固定還款額度。
假設小明貸款為1萬元,即:初始本金=1萬元。
年化利率的單位是百分之多少。
期數的單位為多少個月。
輸入為2行,
第一行為乙個小數r,表示年率是百分之幾。(0, 不能通過工程設定而省略常用標頭檔案。
提交程式時,注意選擇所期望的語言型別和編譯器型別。
法一:暴力,只能過一部分
#include #include #include using namespace std;
double r,m,mm,x,b,bb;
int n;
const int inf=0xfffffff;
int main()
bb=fabs(bb);
if (bb=5) t=t/10+1;
else t/=10;
printf ("%d\n",t);
return 0;
}
法二:學長寫的,二分查詢降低複雜度
#include #include #include using namespace std;
double r;
int n;
double sol(double x)
return ans;
}int main(int argc, char const *argv)
int ans = x;
if (fabs(sol((ans+1)/100.0)) < fabs(sol(ans/100.0)))
ans++;
printf("%d\n", ans);
return 0;
}
藍橋模擬題 還款計算(二分搜尋)
銀行貸款的等額本息還款方法是 每月還固定的金額,在約定的期數內正好還完 最後乙個月可能會有微小的零頭出入 比如說小明在銀行貸款1萬元。貸款年化利率為5 貸款期限為24個月。則銀行會在每個月進行結算 結算方法是 計算本金在本月產生的利息 本金 x 年利率 12 則本月本金結餘為 本金 利息 每月固定還...
還款計算 複式記賬
例如 出款方 入款方 數量 a b 100 那麼假設你要分三次還款 第一次 需還款數 100 已還款數 總還款次數 已還款次數 通過複式記賬三個數字都能直接知道 已還款數 0 總還款次數 3 已還款次數 0 第一次算出需還款數 100 3 記錄一次賬目 出款方 入款方 數量 a b 100 b a ...
藍橋 還款計算(暴力,浮點數二分)
銀行貸款的等額本息還款方法是 每月還固定的金額,在約定的期數內正好還完 最後乙個月可能會有微小的零頭出入 比如說小明在銀行貸款1萬元。貸款年化利率為5 貸款期限為24個月。則銀行會在每個月進行結算 結算方法是 計算本金在本月產生的利息 本金 x 年利率 12 則本月本金結餘為 本金 利息 每月固定還...