题目标题: 排它平方数

题目标题: 排它平方数

小明正看着 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\n",i,i*i);
36         }
37     }
38     return 0;
39     
40 }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值