对于n位的两个正整数x和y,可以把x表示为x1x2…xn,其中xi(1≤i≤n)表示整数x第i位上的数字;把y表示为y1y2…yn,其中yi(1≤i≤n)表示整数y第i位上的数字。如果x1+k=yn−k(0≤k≤n−1)始终成立,则x和y互为逆序整数。
给你两个正整数A和B, 判断两个整数是否互为逆序整数,并输出相应的结果。
注:题目保证正整数A和B的个位数字不是0。
输入格式:
先在第一行输入位数n,然后在接下来的两行分别输入位数为n的正整数A和B(1≤n≤50)。
输出格式:
输入样例1:
2
89
98
输出样例1:
89 and 98 are reverse.
输入样例2:
3
981
289
输出样例2:
981 and 289 are not reverse.
提示:
输入的两个正整数可能会超过long long int所能表示数的范围。可以用字符串来表示正整数。
输出结果以“.”结尾。
#include<stdio.h>
int main()
{
int n,m=0;
scanf("%d\n",&n);
char a[100],b[100];
gets(a);scanf("\n");gets(b);
for(int i=0,j=n-1;i<n,j>=0;i++,j--)
if(a[i]!=b[j]) m++;
if(m==0)
{
for(int i=0;i<n;i++) printf("%c",a[i]);
printf(" and ");
for(int i=0;i<n;i++) printf("%c",b[i]);
printf(" are reverse.");
}
else
{
for(int i=0;i<n;i++) printf("%c",a[i]);
printf(" and ");
for(int i=0;i<n;i++) printf("%c",b[i]);
printf(" are not reverse.");
}
return 0;
}