#include
#include
int main()
{
// 题目要求,年份都是 2022
// 如何枚举月份和日期?
// 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分
// 正常程序肯定需要考虑月份的日期不同,现在题目只想要知道结果,我们完全不用管日期,直接循环,然后依据常识,踢出不合理的数字就好了
for (int month = 1; month <= 12; month++)
{
for (int day = 1; day <= 31; day++)
{
// 组合出来日期数据,拆分到数组中,后续拿来判断是不是顺子
// 2022 直接思考下,月份只有 1-12,202201-202212 都凑不出来顺子,直接抛弃年份就好了
std::vector<int> data;
// 月份长度不够,补齐
if (month <= 9)
{
data.push_back(0);
data.push_back(month);
}
else
{
data.push_back(month/10);
data.push_back(month%10);
}
// 日期长度不够,补齐
if (day <= 9)
{
data.push_back(0);
data.push_back(day);
}
else
{
data.push_back(day / 10);
data.push_back(day % 10);
}
// 判断是不是顺子 01 01
// 比较前三位是不是顺子
if (data.at(0)!=0 && data.at(0) + 1 == data.at(1) && data.at(1) + 1 == data.at(2))
{
for (auto it : data)
{
std::cout << it;
}
std::cout << std::endl;
}
// 比较后三位数字是不是顺子
if (data.at(1) + 1 == data.at(2) && data.at(2) + 1 == data.at(3))
{
for (auto it : data)
{
std::cout << it;
}
std::cout << std::endl;
}
}
}
}