二分新手求助
查看原帖
二分新手求助
594729
GinnyWeasley楼主2022/4/3 15:45
#include<iostream>
#include<cstdio>
using namespace std;
double n,m,acscend,answer;
int k;
int ac(double month){
	double sum=0;
	double acthird=1;
	for(int i=1;i<=k;i++){
		acthird*=(1+month);
		sum+=(m/acthird);
	}
	if(sum=n){
		return 0;
	}
	if(sum<n){
		return 1;
	}
	else{
		return -1;
	}
}
int main(){
	scanf("%lf%lf%d",&n,&m,&k);
	double low=0,high=800,mid;
	while(high-low>=0.0001){
		mid=(low+high)/2;
		if(!ac(mid)){
			break;
		}
		if(ac(mid)==1){
			low=mid;
		}
		else{
			high=mid;
		}
	}
	printf("%.1lf",mid*100);
	return 0;
}
2022/4/3 15:45
加载中...