问题:求x,使得x^2为一个各位数字互补相同的9位数

算法设计:估算,x的取值应该在10000~32000之间。

#include<iostream>

using namespace std;

 

int main()

{

long y1,y2;

int p[10];

int i,j,k;

int m;

int num;

int x;

for(i=10000;i<=32000;i++)

{

x=i;

y1=x*x;

y2=y1;

for(j=0;j<10;j++)

p[j]=1;

num = 0;

for(k=0;k<10;k++)

{

m=y2%10;

y2/=10;

if(p[m]==1)

{

num++;

p[m]=0;

}

}

if(num==9)

cout<<"x is "<<x<<"x^2 is "<<y1<<endl;

}

return 0;

}