UVa 10014 - Simple calculations
2012-07-29 19:36
369 查看
给出一个数列ci(1<=ci<=n),然后给出数列ai中的a0和a(n+1),并给出一个公式ai = ( a(i-1) + a(i+1) ) / 2 - ci。求a1。
做了很长时间,也没弄对,最后看的别人的解题报告。。。。。
由给出公式得:2ai = a(i-1) + a(i+1) -2ci ,依次使i=1,2......n,写出n个式子,把它们相加,
得到:a1 + an = a0 + a - 2(c1 + …… + cn), 再使c的下标i=1......n,写出n个式子,把他们相加。
得到:(n + 1)a1 = na0 + an+1 - 2(nc1 + (n-1)c2 + (n-2)c3 + …… + cn)。
代码:
做了很长时间,也没弄对,最后看的别人的解题报告。。。。。
由给出公式得:2ai = a(i-1) + a(i+1) -2ci ,依次使i=1,2......n,写出n个式子,把它们相加,
得到:a1 + an = a0 + a - 2(c1 + …… + cn), 再使c的下标i=1......n,写出n个式子,把他们相加。
得到:(n + 1)a1 = na0 + an+1 - 2(nc1 + (n-1)c2 + (n-2)c3 + …… + cn)。
代码:
#include<iostream> #include<cstdio> using namespace std; int main() { int T, n, i; double a, b, c, sum; cin >> T; while(T--) { cin >> n >> a >> b; sum=0; for(i=0; i<n; i++) { cin >> c; sum+=(n-i)*c; } printf("%0.2lf\n", (n*a+b-2*sum) / (n+1)); if(T) printf("\n"); } return 0; }
相关文章推荐
- UVA10014 Simple calculations【数列】
- UVA - 10014 Simple calculations
- UVa 10014 - Simple calculations
- UVA10014
- uva 10014
- UVA 10014 Simple calculations(数学题)
- uva 10014 - Simple calculations
- uva 10014 Simple calculations(数学推导)
- UVa 10014 - Simple calculations
- UVA 10014 Simple calculations
- uva 10014 - Simple calculations
- UVA 10014 - Simple calculations
- UVA - 10014 Simple calculations
- Uva 10014 - Simple calculations
- uva 10014 - Simple calculations
- Uva 10014 - Simple calculations
- UVA - 10014 Simple calculations
- uva 10014 - Simple calculations
- uva 10014 Simple calculations
- UVa 10014 Simple calculations (数学)