题目标题: 排它平方数

题目标题: 排它平方数

小明正看着 203879 这个数字发呆。

原来,203879 * 203879 = 41566646641

这有什么神奇呢?仔细观察,203879 是个6位数,并且它的每个数位上的数字都是不同的,并且它平方后的所有数位上都不出现组成它自身的数字。

具有这样特点的6位数还有一个,请你找出它!

再归纳一下筛选要求:
1. 6位正整数
2. 每个数位上的数字不同
3. 其平方数的每个数位不含原数字的任何组成数位

答案是一个6位的正整数。

请通过浏览器提交答案。
注意:只提交另一6位数,题中已经给出的这个不要提交。
注意:不要书写其它的内容(比如:说明性的文字)。

 1 #include<stdio.h>
 2 #include<string.h>
 3 int judge(__int64 n)
 4 {
 5     __int64 n1=n*n,t;
 6     int b[10];
 7     memset(b,0,sizeof(b));
 8     
 9     while(n)
10     {
11         t=n%10;
12         n/=10;
13         if(b[t])
14            return 0;
15         b[t]=1;
16         
17     }    
18     while(n1)
19     {
20         t=n1%10;
21         n1/=10;
22         if(b[t])
23             return 0;
24         
25     }
26     return 1;    
27 }
28 int main()
29 {
30     __int64 i;
31     for(i=123456;i<=987654;i++)
32     {
33         if(judge(i)==1)
34         {
35             printf("%I64d %I64d
",i,i*i);
36         }
37     }
38     return 0;
39     
40 }
原文地址:https://www.cnblogs.com/zeze/p/asf.html