头像

欢迎来到我的博客

分享题解与总结

P1163银行贷款

image

思路:

浮点二分

每次check当前利率:在month个月内是否能还完这笔钱,若能还完,则合法

下面的代码是向左找的

剩余总贷款量remain=remain*(1+月利率rate)-每月分期付款金额pay

#include<bits/stdc++.h>
#define EPI 1e-5
using namespace std;
double loan,pay,month; 
double lft,rgt,mid,res;

double check(double x)
{
	double remain=loan;
	for(int i=1;i<=month;++i)
        remain=remain*(1+x)-pay;
	return remain;
}

int main()
{
	cin>>loan>>pay>>month;
	lft=0,rgt=3;
	while((rgt-lft)>EPI){
		mid=(lft+rgt)/2;
		res=check(mid);
		if(res<0)
            lft=mid;
		else
            rgt=mid;
	}
	lft=100*lft;
	printf("%.1lf",lft);
	return 0;
}
posted @ 2026-02-10 20:22  king_steph1209  阅读(12)  评论(0)    收藏  举报