银行贷款(二分)
当一个人从银行贷款后,在一段时间内他(她)将不得不每月偿还固定的分期付款。这个问题要求计算出贷款者向银行支付的利率。假设利率按月累计。
输入格式
三个用空格隔开的正整数。
第一个整数表示贷款的原值,第二个整数表示每月支付的分期付款金额,第三个整数表示分期付款还清贷款所需的总月数。
输出格式
一个实数,表示该贷款的月利率(用百分数表示),四舍五入精确到0.1%0.1%0.1%。
输入输出样例
输入 #1
1000 100 12
输出 #1
2.9
求利率的公式:
代码
#include<bits/stdc++.h>
using namespace std;
int n,m,k;
int main()
{
cin>>n>>m>>k;
double l=0,r=100;//除以100就是0到1咯
while(r-l>0.00001)
{
double ans=0,e,mid;
mid=(l+r)/2;
e=1+mid/100;//初始第一个月的利率
for(int i=1;i<=k;i++)
{
ans+=m/e;
e*=(1+mid/100);//下一月的利率
}
if(ans<n) r=mid-0.00001;
else l=mid+0.00001;
}
cout<<setprecision(1)<<fixed<<r;
}