第七届蓝桥杯javaB组真题解析-煤球数目(第一题)

题目

/*
煤球数目

有一堆煤球,堆成三角棱锥形。具体:
第一层放1个,
第二层3个(排列成三角形),
第三层6个(排列成三角形),
第四层10个(排列成三角形),
....
如果一共有100层,共有多少个煤球?

请填表示煤球总数目的数字。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
*/

答案

171700

代码

 1 public class Main {
 2     public static void main(String[] args) {
 3         int s=0,num=0; //s 每层煤球数,num 从第一层到当前层共有的煤球数
 4         for(int i=1;i<=100;i++){
 5             s +=i; //因为第一层数量是1,所以可以看成是 0+1=1
 6             num +=s; 
 7         }
 8         System.out.println(num);
 9     }
10 }

注解

由给出的前几层可以看出规律:第一层为1个,然后每层的煤球数量是上一层的数量再加上层数个,设层数为n,层数对应的煤球数为Sn 则:

 

题中问的是100层共有多少个煤球,不是第100层的煤球数

 

原文地址:https://www.cnblogs.com/loveluking/p/6367237.html