您的位置:首页 > 其它

找出所有六位数的平方数中未出现与原数中重复数字的所有数

2014-12-26 00:56 253 查看
例如203879*203879=41566646641
这有什么神奇呢?仔细观察,203879是个6位数,并且每个数位上的数字都是不同的并且他平方后的所有数位上都不出现组成它自身的数字

#include "stdio.h"
int main ()
{
int i,j,k,l;
int fac=1,temp,bijiao;
int end,flag;
int count=0;
int compare[6]={0},move[15]={0};
for(i=100000;i<1000000;i++)
{
temp=i;
flag=1;
end=0;
for(j=0;j<6;j++)
{
compare[j]=temp%10;
temp=temp/10;
}
for(j=0;j<11;j++) //判断结果中的j个数是否与原数中的数重复
{
k=j;
while(k>=0)//求出结果中的j个数的大小
{
if((j-k)<6 && k<6)
end=end+compare[j-k]*compare[k];
k--;
}
bijiao=end%10;
for(k=0;k<6;k++)
if(bijiao==compare[k])
{
flag=0;
break;
}
end=end/10;
if(flag==0)
break;
}
for(k=0;k<6;k++)
{
for(l=k+1;l<6;l++)
if(compare[k]==compare[l])
{
flag=0;
break;
}
}
if(flag==1)
{
printf(" %d",i);
count++;
if(count%8==0)
putchar('\n');
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐