此二分有何问题?
查看原帖
此二分有何问题?
1304502
China_U_19641016楼主2024/12/7 21:45
//@P1163
#include<bits/stdc++.h>
#define D double 
D bank(D loan,D rate,D pay,int month){
	D sum=loan;
	for(int i=1;i<=month;i++){
		sum=sum*(1+rate/100)-pay;
	}
	return sum;
}
D find(D l,D r,D a,D b,D c){
	if(l==r) return l;
	D mid=(l+r)/2;
	if(bank(a,mid,b,c)<0) return find(l,mid,a,b,c);
	if(bank(a,mid,b,c)>0) return find(mid,r,a,b,c);
}
using namespace std;
int main(){
	D w0,w,m;
	cin>>w0>>w>>m;
	printf("%.1lf",find(0,3.01,w0,w,m)*100);
	return 0;
} 
2024/12/7 21:45
加载中...