Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
why wa??poj 2601 精度? 多组测试数据 我都试过了,为什么WA了??谢谢 #include <stdio.h> #include <memory.h> #include <math.h> double c[3010], a[3010]; int main() { int i,n; double a0,an1; while(scanf("%d", &n)!=EOF) { memset(a,0, sizeof(a)); memset(c, 0, sizeof(c)); scanf("%lf", &a0); scanf("%lf", &an1); for(i=1; i<=n; i++) { scanf("%lf", &c[i]); } double left = a0 < an1 ? a0 : an1; double right = an1 > a0? an1 : a0; a[0] = a0; while(1) { a[1] = (left + right)/2; for(i=2; i<=n+1; i++) a[i] = (a[i-1] + c[i-1])*2 - a[i-2]; if(right-left<0.00000001) // if((a[n+1] - an1<0.0001 && a[n+1]>an1) ||( an1 - a[n+1]<0.0001 && an1>a[n+1])) // if(fabs(a[n+1]-an1)<0.0001) break; if(a[n+1]<an1) left = a[1]; else right = a[1]; } printf("%.2f\n", a[1]); } return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator