我是靠谱客的博主 寂寞小馒头,这篇文章主要介绍题目标题: 排它平方数,现在分享给大家,希望可以做个参考。

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

    原来,203879 * 203879 = 41566646641

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

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

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

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

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

总结:

在计算数据时,尤其是大数据,一定要用long long int 类型。

编译器一边默认整数的乘法为int 之间进行计算。

int    10^10(2^31-1)

long long 10^19(2^63-1) 

 

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int main() { long long int A[10]; long long int B[10]; long long int ans; long long int j; long long int i; int judge; int t; for(i=203880;i<=999999;i++){ ans=i*i; j=i; judge=0; memset(A,0,sizeof(A)); memset(B,0,sizeof(B)); while(j>0){ if(A[j%10]==1){ judge=1; break; } A[j%10]=1; j=j/10; } if(judge==1) continue; j=ans; while(j>0){ B[j%10]=1; j=j/10; } for(t=0;t<10;t++){ if(A[t]==1&&B[t]==1){ break; } } if(t==10) { cout<<i<<endl; cout<<i*i<<endl; break; } } return 0; }

//639172

最后

以上就是寂寞小馒头最近收集整理的关于题目标题: 排它平方数的全部内容,更多相关题目标题:内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部