第七届蓝桥杯省赛--煤球数目

一、问题描述
  有一堆煤球,堆成三角棱锥形。具体:
    第一层放1个,
    第二层3个(排列成三角形),
    第三层6个(排列成三角形),
    第四层10个(排列成三角形),
    ....
  如果一共有100层,共有多少个煤球?
  请填表示煤球总数目的数字。
  注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。

二、题目类型:结果填空、枚举

三、解题思路及代码

  说lq是数学杯也不为过吧。。。第一时间我没有马上观察到规律。。。。给自己跪辽

  观察下图:

 

  可以看出规律:第 i 层的煤球个数 = i + (i -1) + (i - 2)... + 1,即每层的煤球个数是包括当前层在内的所有层数之和。

  得出规律之后,一个简单的枚举即可得出答案。

 1 public class NumberOfBriquettes {
 2 
 3     public static void main(String[] args) {
 4         int f = 0;//每层煤球个数
 5         int sum = 0;//煤球个数总和
 6         for(int i =1;i<=100;i++) {
 7             f += i;
 8             sum+=f;
 9         }
10         System.out.println(sum);
11     }
12 }

  答案:171700

  

posted @ 2019-03-15 08:47  Aion_14  阅读(253)  评论(0)    收藏  举报