zoukankan      html  css  js  c++  java
  • 排他平方数

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

    原来,203879 * 203879 = 41566646641 这有什么神奇呢?

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

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

    再归纳一下筛选要求:

    1. 6位正整数

    2. 每个数位上的数字不同

    3. 其平方数的每个数位不含原数字的任何组成数位

    分析:直接暴力枚举。。。

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 using namespace std;
     5 
     6 #define ll long long 
     7 int check[10];
     8 int judge(ll a){
     9     while(a){
    10         if(check[a%10]==0) check[a%10]++;
    11         else{
    12             return 0;
    13         }
    14         a/=10;
    15     }
    16     return 1;
    17 }
    18 int judge1(ll a){
    19     while(a){
    20         if(check[a%10]!=0) return 0;
    21         a/=10;
    22     }
    23     return 1;
    24 }
    25 
    26 int main(int argc, char const *argv[])
    27 {
    28     for( ll i=123456; i<=987654; i++ ){
    29         memset(check,0,sizeof(check));
    30         if(!judge(i)) continue; 
    31         if(!judge1(i*i)) continue;
    32         cout<<i<<endl;
    33     }
    34     return 0;
    35 }
    有些目标看似很遥远,但只要付出足够多的努力,这一切总有可能实现!
  • 相关阅读:
    python 基于gevent协程实现socket并发
    python asyncio
    python 池 协程
    python
    python 守护进程
    python 线程 threading模块
    python 安装Django失败处理
    python 队列
    python 锁
    继承,抽象类,多态,封装
  • 原文地址:https://www.cnblogs.com/Bravewtz/p/10447180.html
Copyright © 2011-2022 走看看