[C] 纯文本查看 复制代码 #include<bits/stdc++.h>
using namespace std;
int a[100];
bool is_repeat(int n)
{
int a[3];
a[0]=n%10;
a[1]=(n%100)/10;
a[2]=(n%1000)/100;
if((a[0]!=a[1])&&(a[0]!=a[2])&&(a[2]!=a[1])) return 1;
return 0;
}
void compare(int n,int b[])
{
int a[3];
a[0]=n%10;
a[1]=(n%100)/10;
a[2]=(n%1000)/100;
b[a[0]-1]=0;
b[a[1]-1]=0;
b[a[2]-1]=0;
}
int main()
{
int temp,len=0;
for(int i=10;i<33;i++)
{
temp =i*i;
if(is_repeat(temp)&&(temp<1000))
{
a[len] = temp;
len++;
}
}
for(int i=0;i<len;i++)
for(int j=i+1;j<len;j++)
for(int k=j+1;k<len;k++)
{
int b[9]={1,2,3,4,5,6,7,8,9};
temp=0;
compare(a[i],b);
compare(a[j],b);
compare(a[k],b);
for(int n=0;n<9;n++)
{
temp+=b[n];
}
if(temp == 0)
{
cout<<a[i]<<" "<<a[j]<<" "<<a[k]<<"\n";
}
}
return 1;
}
|