问题:求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;
}
转载于:https://blog.51cto.com/moqifei/721285