1049 数列的片段和

给定一个正数数列,我们可以从中截取任意的连续的几个数,称为片段。例如,给定数列 { 0.1, 0.2, 0.3, 0.4 },我们有 (0.1) (0.1, 0.2) (0.1, 0.2, 0.3) (0.1, 0.2, 0.3, 0.4) (0.2) (0.2, 0.3) (0.2, 0.3, 0.4) (0.3) (0.3, 0.4) (0.4) 这 10 个片段。

给定正整数数列,求出全部片段包含的所有的数之和。如本例中 10 个片段总和是 0.1 + 0.3 + 0.6 + 1.0 + 0.2 + 0.5 + 0.9 + 0.3 + 0.7 + 0.4 = 5.0。

输入格式:

输入第一行给出一个不超过 10​5​​ 的正整数 N,表示数列中数的个数,第二行给出 N 个不超过 1.0 的正数,是数列中的数,其间以空格分隔。

输出格式:

在一行中输出该序列所有片段包含的数之和,精确到小数点后 2 位。

输入样例:

4
0.1 0.2 0.3 0.4

输出样例:

5.00

  题解:这道题让我联想到了高中数学组合那一章里面有一个方法叫做插板法,即可以通过插板的方式计算出一共有多少种连续存在的可能情况,这道题也类似,每一个数据出现的次数就是他左边的空位数乘以他右边的空位数,根据这个思想即可得出答案。
代码如下:
 #include<iostream>

 using namespace std;

 double a[];

 int main()
{
int n;
scanf("%d",&n);
double sum = ,result = ,temp;
for( int i = ; i < n; i++){
scanf("%lf",&a[i]);
}
for( int i = ; i < n; i++){
result += a[i]*(i+)*(n-i);
}
printf("%0.2lf",result);
return ;
}

最新文章

  1. java spring mvc完整包下载地址
  2. 几何服务,cut功能测试
  3. 动态dynamically变更母版_Layout页body标签css的class
  4. 烧写AT91Bootstrap不能连接SAM-BA的解决方法
  5. Winform开发框架之通用高级查询模块
  6. Spring学习笔记之Constructor-based or setter-based DI?
  7. HttpSessionBindingListener和HttpSessionAttributeListener区别 - gengkunpeng的专栏 - 博客频道 - CSDN.NET
  8. Functions类,一个Javascript的函数加法类,将两个函数加起来,顺序执行
  9. WF4.0 Activities&lt;第一篇&gt;
  10. CSRF攻击原理解析与对策研究
  11. OSI七层模型具体解释
  12. REST响应处理
  13. js学习--DOM操作详解大全一(浏览器对象)
  14. VC中判断指定窗口是否被其他窗口遮挡
  15. HDU 3699 A hard Aoshu Problem (暴力搜索)
  16. JXLS 2.4.0系列教程(五)——更进一步的应用和页面边距bug修复
  17. Excel 2010去掉网格线
  18. 认识 SurfaceView
  19. podman(libpod)---github简单记录
  20. NetBeans GUI tests on Jenkins + Windows (转)

热门文章

  1. Storm编程入门API系列之Storm的Topology默认Workers、默认executors和默认tasks数目
  2. echarts 添加Loading 等待。
  3. SpringBoot 2.x (11):定时任务与异步任务
  4. Fedora如何添加第三方软件源?
  5. TLS、SSL、HTTPS以及证书
  6. 【进度总结】第一个web应用程序(未完成)
  7. 这么大一座Azure“图书馆”,你竟没有发现…
  8. 洛谷 P2126 Mzc家中的男家丁
  9. ubuntu 14.04 构建openstack使用的ubunt 16 的桌面版的使用镜像
  10. (转)SpringMVC学习(五)——SpringMVC的参数绑定