【蓝桥杯】【猜生日】

题目

今年的植树节(2012年3月12日),小明和他的叔叔还有小伙伴们一起去植树。

休息的时候,小明的同学问他叔叔多大年纪,他叔叔说:“我说个题目,看你们谁先猜出来!”

“把我出生的年月日连起来拼成一个8位数(月、日不足两位前补0)正好可以被今天的年、月、日整除!”

他想了想,又补充到:“再给个提示,我是6月出生的。”

根据这些信息,请你帮小明算一下,他叔叔的出生年月日。

答案写在“解答.txt”中,不要写在这里!

格式是年月日连成的8位数。

例如,如果是1948年6月12日,就写:19480612

 

分析

小明的叔叔的年龄小于100岁,所以他应该是1912年以后出生的;

6月有30天;

想办法找出小明叔叔生日的年月日拼成的8位数,然后验证2012、3、12整除关系。

 

源码

 

public static void main(String[] args) {
		
		//外层循环年
		ok:for(int year=2011; year>1912; year--){
			    //内层循环日
				for (int i = 1; i <= 30; i++) {
					//把年月日拼接起来
					String s = year+"06"+(i>=10?i:"0"+i);
					//转换成8位的数字
					int a = Integer.valueOf(s);
					//验证整除关系
					if(a%2012 == 0 
							&& a%3 == 0
							&& a%12 == 0){
						//FIND RESULT
						System.out.println(s);
						break ok;
					}
				}
		}
	}


结果

 

19550604

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值