http://poj.org/problem?id=2601
Time Limit: 1000MS | Memory Limit: 65536K | |
Total Submissions: 6084 | Accepted: 3085 |
Description
You are given a 0, a n+1, c 1, ... , c n. Write a program which calculates a 1.
Input
Output
Sample Input
1 50.50 25.50 10.15
Sample Output
27.85
Source
题意: 公式ai = (ai-1 + ai+1)/2 - ci ,已知a0,an+1,和ci(i=1~~n),求a1..。。
数学题推吧。终于推出来了,这种题高中生比大学生做的快多了。。
由ai = (ai-1 + ai+1)/2 - ci
2*ai=(ai-1+ai+1)/2-2*ci;
得到:2*a1=a0+a2-2c1;
左右累加得到
an+a1=an+1+a0-2*(c1+c2++++++………………cn);
得到
a1-a0=an+1-an-2(c1+c2+…………cn);
得到
a1-a0=an+1-an-2(c1+++cn);
a1-a0=an-an-1-2(c1+c2+…………cn-1);
a1-a0=an-1-an-2-2*(c1++++++++cn-2);
左右相加得到
a1=((an+1+n*a0)-2n*(c1)+2*(n-1)*c2+++++…………2*1*cn)/(n+1);
#include
#include
#include
using namespace std;
int main()
{
}