首页 > 其他 > 详细

【杭电acm】2086 A1 = ?

时间:2014-04-07 11:53:08      阅读:547      评论:0      收藏:0      [点我收藏+]

数学题,首先推导出2*sum{c1,c2...cn} = (An+1-An) - (A1-A0),在将n个该式相加,可以推导出
(n+1)*A1=An+1+n*A0-2*sum{sum{c1,c2...cj}, j=1...n},即
(n+1)*A1=An+1+n*A0-2*sum{n*c1, (n-1)*c2...2*cn-1, cn}
A1可求。

bubuko.com,布布扣
 1 #include <stdio.h>
 2 
 3 int main() {
 4     double a0, an1, c;
 5     double a1;
 6     int n, i;
 7 
 8     while (scanf("%d", &n)!=EOF && n) {
 9         scanf("%lf %lf", &a0, &an1);
10         a1 = an1+n*a0;
11         for (i=0; i<n; ++i) {
12             scanf("%lf", &c);
13             a1 -= 2*c*(n-i);
14         }
15         a1 /= (n+1);
16         printf("%.2lf\n", a1);
17     }
18 
19     return 0;
20 }
bubuko.com,布布扣

 

【杭电acm】2086 A1 = ?,布布扣,bubuko.com

【杭电acm】2086 A1 = ?

原文:http://www.cnblogs.com/bombe1013/p/3647663.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!