代码拉取完成,页面将自动刷新
#include <bits/stdc++.h>
using ll = long long;
using namespace std;
int days[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
// 1.int转string函数
string its(int n)
{
string s;
while (n)
{
s += n % 10 + '0';
n /= 10;
}
reverse(s.begin(), s.end());
return s;
}
// 2.string转int函数
int sti(string s)
{
int n = 0;
for (int i = s.size() - 1; i >= 0; i--)
{
n += (s[i] - '0') * pow(10, s.size() - i - 1);
}
return n;
}
// 3.判断闰年函数
bool is_year(int year)
{
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
return true;
return false;
}
// 4.判断日期是否合法函数
bool is_right(int n)
{
int day = n % 100;
n /= 100;
int month = n % 100;
n /= 100;
int year = n;
if (year >= 1000 && year <= 8999) // 年份合法
{
if (month >= 1 && month <= 12) // 月份合法
{
// 日期合法
if (is_year(year))
{
days[2] = 29;
if (day <= days[month])
return true;
}
else
{
days[2] = 28;
if (day <= days[month])
return true;
}
}
}
return false;
}
// 5.判断字符串是否是回文函数
bool is1(string s)
{
int flag = 0;
for (int i = 0, j = s.size() - 1; i <= j; i++, j--)
{
if (s[i] == s[j])
flag++;
}
if (flag == s.size() / 2)
return true;
return false;
}
// 6.判断字符串是否是ABABBABA函数
bool is2(string s)
{
int flag = 0;
if (is1(s))
{
for (int i = 0; i < 2; i++)
{
if (s[i] == s[i + 2])
flag++;
}
}
if (flag == 2)
return true;
return false;
}
void solve()
{
string s;
cin >> s;
int year = sti(s.substr(0, 4));
int month = sti(s.substr(4, 2));
int day = sti(s.substr(6, 2));
bool ans1 = false, ans2 = false;
for (int i = year; i <= 9999; i++)
{
for (int j = 1; j <= 12; j++)
{
if (i == year && j < month)
continue;
for (int k = 1; k <= 31; k++)
{
if (i == year && j == month && k <= day)
continue;
string ss = its(i * 10000 + j * 100 + k);
if (!is_right(sti(ss)))
continue;
if (!ans1 && is1(ss))
{
cout << ss << endl;
ans1 = true;
}
if (!ans2 && is2(ss))
{
cout << ss << endl;
ans2 = true;
}
}
}
}
}
int main()
{
cin.tie(nullptr);
cout.tie(nullptr);
ios::sync_with_stdio(false);
int T = 1;
while (T--)
{
solve();
}
return 0;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。