P1163 银行贷款

题目描述

当一个人从银行贷款后,在一段时间内他(她)将不得不每月偿还固定的分期付款。这个问题要求计算出贷款者向银行支付的利率。假设利率按月累计。

输入格式

三个用空格隔开的正整数。

第一个整数表示贷款的原值,第二个整数表示每月支付的分期付款金额,第三个整数表示分期付款还清贷款所需的总月数。

输出格式

一个实数,表示该贷款的月利率(用百分数表示),四舍五入精确到0.1%0.1\%0.1%。

输入输出样例

输入 #1
1000 100 12
输出 #1
2.9

 1 //
 2 // Created by w on 2020/10/30.
 3 //
 4 
 5 #include <bits/stdc++.h>
 6 using namespace std;
 7 int main()
 8 {
 9     double a,b,c;
10     cin>>a>>b>>c;
11     double l=0,r=1000,mid;
12     while (l<r-0.0001)
13     {
14         mid=(l+r)/2;
15         double w=a;//w为未还的总钱数。
16         for(int i=0;i<c;i++)
17         {
18             w=w-b+w*(mid/100);
19 
20         }
21         if(w>0.0001)//检验在这个利率下,是否将钱还完。
22             r=mid;
23         else
24             l=mid;
25     }
26     printf("%0.1f\n", round(l * 10) / 10);
27 }

 

posted @ 2020-10-30 18:22  BlackSnow  阅读(165)  评论(0)    收藏  举报