0
点赞
收藏
分享

微信扫一扫

第七届蓝桥杯b组java1-3题

烟中雯城 2022-03-20 阅读 38
算法

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

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

public class Main {
    
    public static void main(String[] args) {
        long sum = 0;
        long a = 0;
        for(long i = 1;i <= 100;i++) {
            a += i;
            sum += a;
        }
        System.out.println(sum);
    }
}

第二题:生日蜡烛
题目描述
某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。

现在算起来,他一共吹熄了236根蜡烛。

请问,他从多少岁开始过生日party的?

请填写他开始过生日party的年龄数。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
 

public class Main {
	static int num=0;
	public static void main(String[] args) {
		for(int i=1;i<60;i++) {
			int j=i;
			while(num<=236) {
				num+=j;
				j++;
				if(num==236) {
					System.out.println(i);
				}
			}
			num=0;
		}
	}
}

第三题:凑算式
题目描述
       B      DEF
A + --- + ------- = 10
       C      GHI
     
这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。

比如:
6+8/3+952/714 就是一种解法,
5+3/1+972/486 是另一种解法。

这个算式一共有多少种解法?

注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。
 

本题自己写的较为复杂 全排列要和这个最终的的字母的分式联系起来 看了很多博主的代码发现这个博主写的最简洁明了 巧妙运用了一个list 用过的数字就加进去 一个dfs之后记得要remove掉 然后全排列过后的最终组合就是这个list 可以看成数组 数组上9个位置 每个位置对应一个字母 然后将这些位置上的数全排列 看一看每个数字代表不同的字母的情况 哪个符合最终的字母分式

这是他的blog 南墙

以下是代码

import java.util.ArrayList;

public class 凑算式 {
	public static int count = 0;
	public static ArrayList<Integer> list = new ArrayList<Integer>();

	public static void main(String[] args) {
		f();
		System.out.println(count);
	}

	public static void f() {
		if (list.size() >= 9) { 
			int a1 = list.get(0) * list.get(2) * (list.get(6) * 100 + list.get(7) * 10 + list.get(8));
			int a2 = list.get(1) * (list.get(6) * 100 + list.get(7) * 10 + list.get(8));
			int a3 = (list.get(3) * 100 + list.get(4) * 10 + list.get(5)) * list.get(2);
			if (a1 + a2 + a3 == 10 * list.get(2) * (list.get(6) * 100 + list.get(7) * 10 + list.get(8))) {
				count++;
				
			}
			return;
		}
		for (int i = 1; i <= 9; i++) {
			if (!list.contains(i)) {
				list.add(i);
				f();
				list.remove(list.size() - 1);
			}
		}
	}
}
举报

相关推荐

0 条评论