为什么不对累
查看原帖
为什么不对累
311110
_djc_楼主2022/4/13 22:08

本蒟蒻写了一个三分的代码,但为什么不对呢

#include<bits/stdc++.h>
#define MAXN 100005
using namespace std;
int N[MAXN];
int n;
double l, r;
double cl(double x){
	double as=0;
	for(int i = n; i >=1 ; i --){
		int t1=i;double t = 1.0;
		while(--t1 ){
			t *= x;
		}
		t*=N[i];
		as+=t;
	}
	return as;
}
int main(){
	cin >> n;
	cin >> l >>r;
	for(int i = n; i >= 1; i --){
		cin >> N[i];
	}
	//cout<< cl(l) <<cl(r);
	while (r - l >= 1e-10){
		double lmid = l + (r - l) / 3;
		double rmid = r - (r - l) / 3;
		double x1 = cl(lmid), x2 = cl(rmid);
		if(x1 >= x2 ) r = rmid;
		else l = lmid;
		
	}
	printf("%.10lf", l);
} 
2022/4/13 22:08
加载中...