在系统中测试通过了
#include
#include
using namespace std;
typedef long long ll;
int main()
{
ll n;
cin>>n;
int temp1=0,re1;
int temp2=0,re2;
//直接从n的下一位开始找
for(ll i=n+1;i<=99999999;i++){
//获得各个位上的数
int a=i%10;
int b=i/10%10;
int c=i/100%10;
int d=i/1000%10;
int e=i/10000%10;
int f=i/100000%10;
int g=i/1000000%10;
int h=i/10000000%10;
int mon=e*10+f;//月
int day=g*10+h;//天
//如果月等于0或者大于31继续循环,天也是一个道理
if(mon>12||day>31||mon==0||day==0)continue;
//如果找到了第一个符合的数就存在re1里,并标记
if(a==h&&b==g&&c==f&&d==e&&temp1!=1){
temp1=1;
re1=i;
}
if(a==c&&c==f&&f==h&&b==d&&d==e&&e==g&&temp2!=1){
temp2=1;
re2=i;
}
//两个数都找到才停
if(temp1==1&&temp2==1)break;
}
cout<
(欢迎大家批评指正)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)