蓝桥杯真题练习-猜生日

蓝桥杯真题练习-猜生日

## 填空题 2012 省赛

题目地址

题目概述

2012年3月12日植树节,有位叔叔说他的出生的日期写成8位的形式,例如:20010109可以被今天的年、月、日整除,让你猜他生日。因为猜起来忒费劲了,他又加了一句,他六月出生的。

思路

1.这题主要在审题,首先一点,明确生日可以被2012、3、12、6整除
2.既然是6月出生的,那么日期后两位一定是01到30(1、3、5、7、8、10、腊(12月)三十一天永不差。4、6、9、冬(11月)三十天……这个可不要说你不知道哈。)从左向右数第五第六位是月份的位置,那肯定是06固定不变了。
3.接下来确定开始的年份写个循环就行了,这个要注意了,你不能从八位中在最小10006001开始循环,给他叔整宋朝(960年—1279年)去了。直接从20120601开始往下,循环多好。
哈?你问我既然是叔叔为什么不干脆从20000601开始,万一是他小叔你可咋整。
4.每判断一次减减就行了,到01减减变为00则判断一下,直接年份减一,也就是减10000,日期加到30号。

#include<iostream>
using namespace std;
int main(){
	int year=20120601;
	while(1){
		if(year%2012==0&&year%3==0&&year%12==0&&year%6==0){
			cout<<year;
			return 0;
		}
		year--;
		if(year%100==0){
			year=year-10000+30;
		}
	}
} 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值