2018—蓝桥杯B组模拟赛—数列求值
2018-03-29 15:33
801 查看
样例输入1
150.50 25.5010.15样例输出1
27.85样例输入2
2-756.89 52.52172.22 67.17样例输出2
-761.49思路:通过递推公式吧前三项写出来就能明显的发现规律
A1 = (A0+A2)/2-C1
A2 = (A1+A3)/2-C2 ------>3A2 = A0 - 2(C1+2C2)+2A3
A3 = (A2+A4)/2-C3------->4A3 = A0 - 2(C1+2C2+3C3)+3A4
由此可以判断:(n+1)An = A0 - 2F(n) + nAn+1 (F(n) = C1+2C2+3C3+.....+nCn)
代码:
#include<bits/stdc++.h>
using namespace std;
const int maxn = 1050;
int n;
double a[maxn], c[maxn];
double fun(int n)
{
if(n == 1)
return c[1];
return fun(n-1) + n * c
;
}
void fun2(int n)
{
for(int i = n;i >= 1;i--)
{
a[i] = (a[0] - 2*fun(i) + i*a[i+1])/(i+1);
}
return;
}
int main()
{
while(cin >> n)
{
scanf("%lf%lf", &a[0], &a[n+1]);
for(int i = 1;i <= n;i++)
{
scanf("%lf", &c[i]);
}
fun2(n);
printf("%.2lf\n", a[1]);
}
return 0;
}
相关文章推荐
- 2018蓝桥杯模拟赛--数列求值
- G题 数列求值-Java_2018 蓝桥杯省赛B组模拟赛(一)
- 2018 蓝桥杯省赛 B 组模拟赛(一)-数列求值
- 2018 蓝桥杯省赛 B 组模拟赛(一)G. 数列求值
- 2018 蓝桥杯省赛 B 组模拟赛(一)-数列求值
- 2018 蓝桥杯省赛 B 组模拟赛(一)G. 数列求值(第一次见这种递推.)
- 2018 蓝桥杯省赛 A 组模拟赛 矩阵求和
- 2018 蓝桥杯省赛 A 组模拟赛 末尾零的个数
- 2018蓝桥杯模拟赛(一)--青出于蓝而胜于蓝(线段树)
- 2018 蓝桥杯省赛 A 组模拟赛 最强团队
- 计蒜客 2018蓝桥杯省赛 B组模拟赛(一)0 B题 开头灯(java)
- 计蒜客 2018蓝桥杯省赛 B组模拟赛(一) D题 LIS(java)
- 2018蓝桥杯模拟赛--快速幂
- 2018蓝桥杯模拟赛(一)C【模拟】D【dp】E【全排列】F【dfs】
- 计蒜客 2018蓝桥杯省赛 B组模拟赛(五) B题 素数个数(java)
- 2018 蓝桥杯省赛 A 组模拟赛 划分整数
- 2018蓝桥杯|基础|数列排序
- 2018蓝桥杯模拟赛(一)G【math 递推】
- 2018 蓝桥杯省赛 A 组模拟赛 蒜头君的数轴
- 蓝桥杯2018第五次模拟赛--素数的个数