暴力搜索解决日期问题

在这里插入图片描述

//闰年的2月为29天,非闰年为28天 

#include<iostream>
#include<stdio.h>
using namespace std;

int max_days[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

//判断年月日是否合法 
bool check(int year,int month,int day)
{
	if(month==0||month>12)return false;
	if(day==0)return false;
	if(month!=2)
	{
		if(day>max_days[month])return false;
	}
	else
	{
		int leap=(year%4==0&&year%100!=0)||(year%400==0);
		if(day>28+leap)return false;
	}
}

int main()
{
	int a,b,c;
	scanf("%d/%d/%d",&a,&b,&c);
	int data;
	for(data=19600101;data<=20591231;data++)
	{
		int nian,yue,ri;
		nian=data/10000;
		yue=data%10000/100;
		ri=data%100;
		if(check(nian,yue,ri))
		{
			if((nian%100==a&&yue==b&&ri==c)||(ri==a&&nian%100==b&&yue==c)||(yue==a&&ri==b&&nian%100==c))
			cout<<nian<<'-'<<yue<<'-'<<ri<<endl;
		}
	}
	return 0;
	
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值