#include <stdio.h>
#define bool int
#define true 1
#define false 0
int check(int n)
{
for(int i=2;i<=n-1;i++)
{
if(i*i==n)
return i;
}
return 0;
}
//检查是否是完全平方数;
bool check1(int n)
{
int r1,r2,r3;
r1=n%10;
r2=n/10%10;
r3=n/100;
if(r1!=r2&&r2!=r3&&r1!=r3)
{
return true;
}
else
{return false;}
}
//检查完全平方数是否每位都不一样;
bool check2(int q,int w,int e)
{
int m[10];
m[0]=0;
m[1]=q%10;
m[2]=q/10%10;
m[3]=q/100;
m[4]=w%10;
m[5]=w/10%10;
m[6]=w/100;
m[7]=e%10;
m[8]=e/10%10;
m[9]=e/100;
bool flag=true;
while(flag)
{
flag=false;
for(int i=0;i<10;i++)
{
if(m[i]>m[i+1])
{
int temp=m[i];
m[i]=m[i+1];
m[i+1]=temp;
flag=true;
}
}
}
for(int j=0;j<10;j++)
{
if(m[j]!=j)
{
return false;
}
}
return true;
}
//检查三个完全平方数是否每位都不一样;
int main()
{
int k;
int b[100],sign=0;
for(int i=100;i<999;i++)
{
k=check(i);
if(k!=0)
{
b[sign]=i;
sign++;
}
}
bool flag;
int c[20];
int sign1=0;
for(int j=0;j<sign;j++)
{
flag=check1(b[j]);
if(flag)
{
c[sign1]=b[j];
sign1++;
}
}
for(int i=0;i<=10;i++)
{
for(int j=i+1;j<=11;j++)
{
for(int k=j+1;k<=12;k++)
{
bool flag1=check2(c[i],c[j],c[k]);
if(flag1)
{
printf("%d %d %d",c[i],c[j],c[k]);
}
}
}
}
}
05-20
1560
05-15
1042
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交