题目描述:
小明发明了一种新的运算符号“(±)“,a(±)b=(a+b)* (a-b),现给你三组数据,每组数据包含两个正整数a和b,请你帮忙计算a(±)b的值,并判断其值是否为回文数。
回文数:设 n是一任意自然数。若,则称 n为回文数。例如 121是回文数,而 123不是回文数。
输入格式:
共3行,每行包含两个以空格隔开的正整数 a,b(1≤b≤a≤10^9)。
输出格式:
输出共3行,每行包含一个运算结果 ans,和判断结果,二者用空格隔开,其中ans表示 a(±)b 的运算结果,如果 ans是回文数,则判断结果为 “Yes”,否则为 “No”。
样例输入:
80 41
25 20
10 1
样例输出:
4719 No
225 No
99 Yes
这题难就难在判断回文数,我也搞了好久才搞定......
#include<bits/stdc++.h>
using namespace std;
long long n,m,a,b,x,sum;
int main()
{
for(int i=1;i<=3;i++)
{
sum=0;
cin>>a>>b;
n=(a+b)*(a-b);
cout<<n<<" ";
m=n;
for(;;)
{
x=n%10;
sum=sum*10+x;
n=n/10;
if(n==0)break;
}
if(sum==m)cout<<"Yes"<<endl;
else cout<<"No"<<endl;
}
return 0;
}