C語言 · 還款計算

標題: 還款計算java

銀行貸款的等額本息還款方法是: 每個月還固定的金額,在約定的期數內正好還完(最後一個月可能會有微小的零頭出入)。ios

好比說小明在銀行貸款1萬元。貸款年化利率爲5%,貸款期限爲24個月。 則銀行會在每一個月進行結算: 結算方法是:計算本金在本月產生的利息: 本金 x (年利率/12) 則本月本金結餘爲:本金 + 利息 - 每個月固定還款額 計算結果會四捨五入到「分」。c++

經計算,此種狀況下,固定還款額應爲:438.71函數

這樣,第一月結算時的本金餘額是: 9602.96 第二個月結算: 9204.26 第三個月結算: 8803.9 .... 最後一個月若是仍按固定額還款,則最後仍有0.11元的本金餘額, 但若是調整固定還款額爲438.72, 則最後一個月會多還了銀行0.14元。 銀行會選擇最後本金結算絕對值最小的狀況來設定 每個月的固定還款額度。 若是有兩種狀況最後本金絕對值相同,則選擇還款較少的那個方案。spa

本題的任務是已知年化利率,還款期數,求每個月的固定還款額度。操作系統

假設小明貸款爲1萬元,即:初始本金=1萬元。 年化利率的單位是百分之多少。 期數的單位爲多少個月。調試

輸入爲2行, 第一行爲一個小數r,表示年率是百分之幾。(0<r<30) 第二行爲一個整數n,表示還款期限。 (6<=n<=120)code

要求輸出爲一個整數,表示每個月還款額(單位是:分)blog

例如: 輸入: 4.01 24內存

程序應該輸出: 43429

再好比: 輸入: 6.85 36

程序應該輸出: 30809

資源約定: 峯值內存消耗(含虛擬機) < 256M CPU消耗  < 1000ms

請嚴格按要求輸出,不要多此一舉地打印相似:「請您輸入...」 的多餘內容。

全部代碼放在同一個源文件中,調試經過後,拷貝提交該源碼。 java選手注意:不要使用package語句。不要使用jdk1.7及以上版本的特性。 java選手注意:主類的名字必須是:Main,不然按無效代碼處理。

c/c++選手注意: main函數須要返回0 c/c++選手注意: 只使用ANSI C/ANSI C++ 標準,不要調用依賴於編譯環境或操做系統的特殊函數。 c/c++選手注意: 全部依賴的函數必須明確地在源文件中 #include <xxx>, 不能經過工程設置而省略經常使用頭文件。

提交程序時,注意選擇所指望的語言類型和編譯器類型。

 1 #include<iostream>
 2 #include<cmath>
 3 using namespace std;
 4 int main(){
 5     double x=10000,r;// r 是 年利率 
 6     int n;// 還款期 
 7     cin>>r>>n;
 8     r=r*0.01/12;//每個月的利息
 9     double start=x/n;
10     double sum=x,last=99999999;
11     while(start){
12         sum=x;
13         for(int i=1;i<=n;i++)
14             sum=sum+sum*r-start;
15         if(abs(last)<abs(sum)){
16             int zz=(double)((start-0.01)*100+0.5);
17             cout<<zz;
18             break;
19         }
20         last=sum;
21         start=start+0.01;
22     }
23     return 0;
24 }
相關文章
相關標籤/搜索