整数平方是回文数

来源:百度知道 编辑:UC知道 时间:2024/06/13 07:17:11
输入正整数 m 和 n ,输出 [m, n ] 闭区间中满足下列条件的正整数及其平方:正整数的平方具有对称性质(也称为回文数) , 如: 11 的平方是 121 。若该区间不存在这样的正整数,则输出: No output

运行通过:
void palind(int m,int *t);
int main()
{
int m,n,i;
int t;
scanf("%d %d",&m,&n);
if(m>n)
{
t=m;
m=n;
n=t;
}
t=0;
for(i=m;i<=n;i++)
{
palind(i,&t);
}
if(t==0)
{
printf("No output!");
}
else
cout<<t<<endl;
return 1;
}
void palind(int m,int *t)
{
int a[10];
int temp,i;
temp=m*m;
for(i=0;i<10&&temp>0;i++)
{
a[i]=temp%10;
temp=temp/10;
}
temp=--i;
for(;i>=temp/2;i--)
{
if(a[i]!=a[temp-i])
break;
}
if(i<(temp/2))
{
cout<<"m="<<m<<" "<<"m*m="<<m*m<<endl;
(*t)++;
}

return;
}

先一个for循环,确定n m间每个数。
得到一个数平方后,利用对10取余得到每位的数字,存到一个数组里面,同时弄个变量计算这个平方数共几位。然后利用数组,得到这个数的反序,入12变成21,然