203879是上的每一个数字都不相等,而且它的平方41566646641中的数字都不包括组成它自身的数,这样的六位数还有一个
代码如下:
#include<stdio.h>
int main()
{
long long i,j,m,n,v,k,a[6],b[14],c=0,w,x;//使用长整型定义x
for(x=100000;x<1000000;x++)
{
k=x;w=x*x;n=-1;m=-1;v=0;c=0;
while(k!=0)
{
n++;
a[n]=k%10;
k=k/10;
}
for(i=1;i<=n;i++)
for(j=0;j<=n;j++)
if(a[i]==a[j])//排除组成x的数字中重复的
c++;
if(c!=n)
v=1;
while(w!=0)
{
m++;
b[m]=w%10;
w=w/10;
}
for(i=0;i<=n;i++)
for(j=m;j>=0;j--)
if(a[i]==b[j])
v=1;
if(v==0)
printf("%lld \n",x);
}
}
运行结果 :