为什么不输出(mid结果是对的)
查看原帖
为什么不输出(mid结果是对的)
711031
suyi1111楼主2023/8/11 11:28
#include <bits/stdc++.h>
using namespace std;
double n,m,k;
double c(double shijian,double changhuan,double lixi){
	double sum=0;
	for(int i=1;i<=shijian;i++){
		sum+=changhuan;
		sum/=(1+1.0*lixi);
	}
	return sum;
}
signed main()
{
	cin>>n>>m>>k;
	double l=0,r=5;
	while(r-l>0.0001){
		long double mid=(l+r)/2;
		//cout<<mid<<endl;
		if(abs(c(k,m,mid)-n)<0.01){
			printf("%.1f",mid*100);return 0;
		}
		else if(c(k,m,mid)<n)r=mid;
		else l=mid;
	}
	return 0;
}
2023/8/11 11:28
加载中...