(蓝桥)用Java实现煤球数目问题(递归)

题目如下:
煤球数目
有一堆煤球,堆成三角棱锥形。具体:
第一层放1个,
第二层3个(排列成三角形),
第三层6个(排列成三角形),
第四层10个(排列成三角形),

如果一共有100层,共有多少个煤球?
解决这个问题:
1,我们不难可以发现每层煤球和之间的规律,1 3 6 10 …
可以发现 上面一层的煤球数加上该层的层数就是该层所拥有的煤球数。
2,先写出求每层煤球数的函数,然后用for循环进行相加。
代码如下:

public class Briquette {
    public static void main(String[] args) {
        int sum = 0;
        //求和 每层煤球的数目相加
        for (int i = 1; i <= 100 ; i++) {
            sum += briquetteNum(i);
        }
        System.out.println(sum);
    }
    //求每层有多少个煤球
    public static int briquetteNum(int num) {
        if (num == 1) {
            return 1;
        }else {
            return briquetteNum(num - 1) + num;
        }
    }
}

发布了55 篇原创文章 · 获赞 85 · 访问量 5135

猜你喜欢

转载自blog.csdn.net/lzh_99999/article/details/102730675