2024-3-4-1229-日期问题.cpp
2024-3-4-1229-日期问题.cpp
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int days[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
bool check_vaild(int year,int month,int day){
if(month==0||month>12)return false;
if(month!=2){
if(day==0||day>days[month])return false;}
if(month==2)
{
int leap=year%4==0&&year%100||year%400==0;
if(day==0||day>28+leap)return false;
}
return true;
}
int main()
{ int a,b,c;
scanf("%d/%d/%d", &a,&b,&c);
for(int date=19600101;date<20591231;date++){
int year=date/10000,month=date%10000/100,day=date%100;
if(check_vaild(year,month,day))
{
if(year%100==a&&month==b&&day==c||//年月日表示
year%100==c&&month==a&&day==b||//月日年表示
year%100==c&&month==b&&day==a//日月年表示
)
printf("%d-%02d-%02d\n",year,month,day);//02表示不足2位补0
}
}
return 0;
}