【蓝桥杯2015】熊怪吃核桃、星系炸弹、九数分三组

熊怪吃核桃

在这里插入图片描述
👉👏⑨⭐

public class Main {
	static int counts=0;
	public static void main(final String[] args) {
		eat(1543);
		System.out.println(counts+1);
	}
	static void eat(int num) {
		if(num==1)return;
		if(num%2==0) {
			eat(num/2);
		}else {
			counts++;
			eat((num-1)/2);
		}
	}
}

答案5


星系炸弹

在这里插入图片描述

方案一

在这里插入图片描述

方案二

直接使用java的Calendar类,十分方便。顺便想到了回文日期这道题。

public class Main {
	static int counts=0;
	public static void main(final String[] args) {
		Calendar cal = Calendar.getInstance();
		cal.set(2014,10,9);
		cal.add(Calendar.DATE,1000);
		System.out.printf("%d-%02d-%02d",
				cal.get(Calendar.YEAR),cal.get(Calendar.MONTH)+1,cal.get(Calendar.DATE));
	   //System.out.println(new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime()));//日期格式化
	}
}

答案2017-08-05

九数分三组

在这里插入图片描述
前三题都是送分题,基本没什么难度。

public class Main {
	static Set<Integer>set=new TreeSet<>();
	public static void main(final String[] args) {
		int[]nums= {1,2,3,4,5,6,7,8,9};
		f(nums,0);
		for(Integer A:set) {
			System.out.println(A);
		}
	}
	static void f(int[]nums,int k) {
		if(k==nums.length) {
			int A=nums[0]*100+nums[1]*10+nums[2];
			int B=nums[3]*100+nums[4]*10+nums[5];
			int C=nums[6]*100+nums[7]*10+nums[8];
			if(B==2*A&&C==3*A)
			set.add(A);
		}
		for(int i=k;i<nums.length;i++) {
			int t=nums[i];nums[i]=nums[k];nums[k]=t;
			f(nums,k+1);
			t=nums[i];nums[i]=nums[k];nums[k]=t;
		}
	}
}

答案
192
219
273
327

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值