【蓝桥杯2016JavaB】煤球数目、生日蜡烛、凑算式

煤球数目

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

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

找规律,发现第二层与第一层相差2,第三层与第二层相差3,第四层与第三层相差4。。。。依次类推,算出前100层之和即可。

public static void main(String[]arms) {
    
    
	int index=1,sum=0;//用index代表层数
	int a=1,increase=2;//increase代表层间差值
	while(index++<=100) {
    
    
		sum+=a;
		a+=increase++;
	}
	System.out.println(sum);
}

最终答案171700

生日蜡烛

某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。
现在算起来,他一共吹熄了236根蜡烛。
请问,他从多少岁开始过生日party的?
请填写他开始过生日party的年龄数。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。

两层for循环,第一个for记录从什么时候开始过生日,第二层for计算总蜡烛

public static void main(String[]arms) {
    
    
	for(int i=1;i<100;i++) {
    
    
		int sum=0;
		for(int j=i;j<100;j++) {
    
    
			sum+=j;
			if(sum==236) {
    
    
				System.out.println(i);
				return;
			}
			if(sum>236)break;
		}
	}
}

最终答案26

凑算式

凑算式
B DEF
A + — + ------- = 10
C GHI
(如果显示有问题,可以参见【图1.jpg】)
在这里插入图片描述
这个算式中AI代表19的数字,不同的字母代表不同的数字。
比如:
6+8/3+952/714 就是一种解法,
5+3/1+972/486 是另一种解法。
这个算式一共有多少种解法?
注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。

这道题有两个要点,第一个是要会全排列,这是个模板,一定要记住;第二个点是,这个凑算式里虽然都是int型,但是需要通分才能准确计算,不然损失的部分很难把握。
在这里插入图片描述

public class Main{
    
    
	public static int counts=0;
	public static void main(String[]arms) {
    
    
		int[] nums= {
    
    1,2,3,4,5,6,7,8,9};
		arr(nums, 0);
		System.out.println(counts);
		
	}
	public static void arr(int[]nums,int i) {
    
    
		if(i>=nums.length-1) {
    
    
			int x = nums[3] * 100 + nums[4] * 10 + nums[5]; // DEF
			int y = nums[6] * 100 + nums[7] * 10 + nums[8]; // GHI
			if ((nums[1] * y + nums[2] * x) % (y * nums[2]) == 0 && 
					nums[0] + (nums[1] * y + nums[2] * x) / (y * nums[2]) == 10)counts++;
			return;
		}
		for(int j=i;j<nums.length;j++) {
    
    
			sweap(nums, i, j);
			arr(nums,i+1);
			sweap(nums, i, j);
		}
	}
	public static void sweap(int[]nums,int a,int b) {
    
    
		int temp=0;
		temp=nums[a];
		nums[a]=nums[b];
		nums[b]=temp;
	}
}

猜你喜欢

转载自blog.csdn.net/VanGotoBilibili/article/details/115426110