• 算法题(符合题意的6位数)


    问题:

    639172每个位数上的数字都是不同的,且平方后所得数字的所有位数都不会出现组成它自身的数字。(639172*639172=408540845584),类似于639172这样的6位数还有几个?分别是什么?

    代码:

    import java.util.HashSet;
    import java.util.Set;

    public class Yi {
      public static void main(String[] args) {
        int t=0;
        for (long i = 111111; i <= 999999; i++) {
          if (i%10==1||i%10==5||i%10==6||i%10==0) {
            continue;
          }
          if (fuhe(i,i*i)) {
            t++;
            System.out.println(i);
          }
        }
        System.out.println(t);
      }

      private static boolean fuhe(long i, long l) {
        Set set = new HashSet();
        Set se = new HashSet();

        int a = geshu(set,i);
        int b = geshu(se,l);
        int c = geshu(set,l);

        if(a!=6){
          return false;
        }
        a += b;
        if (a==c) {
          return true;
        }
        return false;
      }

       private static int geshu(Set set, long i) {
        set.add(i%10);
        while (i/10!=0) {
          i/=10;
          set.add(i%10);
        }
        return set.size();
      }
    }

  • 相关阅读:
    官方源、镜像源汇总
    Kubernetes V1.15 二进制部署集群
    ZABBIX 4.0 LTS 部署
    SSH + Google Authenticator 安全加固
    Hadoop+HBase 集群搭建
    自动化运维之PSSH
    KVM之CPU虚拟化
    GoAccess日志分析工具
    HTTPS之acme.sh申请证书
    AWStats日志分析系统
  • 原文地址:https://www.cnblogs.com/-rainbow-/p/7410943.html
Copyright © 2020-2023  润新知