File tree 1 file changed +61
-1
lines changed
1 file changed +61
-1
lines changed Original file line number Diff line number Diff line change 1
- #
1
+ #include<cstring>
2
+ #include<string>
3
+ #include<iostream>
4
+ #include<queue>
5
+ #include<cstdio>
6
+ #include<algorithm>
7
+ #include<map>
8
+ #include<cstdlib>
9
+ #include<cmath>
10
+ #include<vector>
11
+ //#pragma comment(linker, "/STACK:1024000000,1024000000");
12
+
13
+ using namespace std;
14
+
15
+ #define INF 0x3f3f3f3f
16
+
17
+ double y;
18
+
19
+ double getsum(double x)
20
+ {
21
+ return 6*pow(x,7)+8*pow(x,6)+7*pow(x,3)+5*x*x-y*x;
22
+ }
23
+
24
+ int main()
25
+ {
26
+ int T;
27
+ scanf("%d",&T);
28
+ while(T--)
29
+ {
30
+ scanf("%lf",&y);
31
+ double delte=0.98;
32
+ double t=100;
33
+ double x=0;
34
+ double ans=getsum(x);
35
+ while(t>1e-8)
36
+ {
37
+ int flag=1;
38
+ while(flag)
39
+ {
40
+ flag=0;
41
+ double temp=x+t;
42
+ if(temp>=0&&temp<=100&&getsum(temp)<ans&&fabs(ans-getsum(temp))>=1e-8)
43
+ {
44
+ x=temp;
45
+ ans=getsum(temp);
46
+ flag=1;
47
+ }
48
+ temp=x-t;
49
+ if(temp>=0&&temp<=100&&getsum(temp)<ans&&fabs(ans-getsum(temp))>=1e-8)
50
+ {
51
+ x=temp;
52
+ ans=getsum(temp);
53
+ flag=1;
54
+ }
55
+ }
56
+ t*=delte;
57
+ }
58
+ printf("%.4f\n",ans);
59
+ }
60
+ return 0;
61
+ }
You can’t perform that action at this time.
0 commit comments