猜生日
今年的植樹節(2012年3月12日),小明和他的叔叔還有小夥伴們一起去植樹。休息的時候,小明的同學問他叔叔多大年紀,他叔叔說:“我說個題目,看你們誰先猜出來!”
“把我出生的年月日連起來拼成一個8位數(月、日不足兩位前補0)正好可以被今天的年、月、日整除!”他想了想,又補充到:“再給個提示,我是6月出生的。”
根據這些信息,請你幫小明算一下,他叔叔的出生年月日。
答案寫在“解答.txt”中,不要寫在這裏!
格式是年月日連成的8位數。
例如,如果是2015年06月01日,就寫:20150601
分析題意
組成的八位數依次可整除2012,整除3,整除12,也就是這三個數的最小公倍數,然而算出三個數的最小公倍數是18108,但這明顯不符合日期的格式,根據常識人的壽命通常在100歲以內,那就從1900開始吧,月份1~12,天1~31
好路,看代碼
/**
*
*/
package suanfa;
/**
* @author 劉伊凡
*
*/
public class GuessBrithday {
public static void main(String[] args) {
int year,day,sum;
for(year=1900;year<2012;year++){
for(day=1;day<32;day++){
sum = year*10000+600+day;
if(sum%2012==0 && sum%3==0 && sum%12==0){
System.out.println("brithday is "+sum);
}
}
}
}
}
---------------------------------------------------------
brithday is 19550604
希望從此在編程的世界裏打開另一扇窗,讓計算機去做這麼複雜的運算