zoukankan      html  css  js  c++  java
  • 神奇6位数

    有一个6位的正整数,它有个很神奇的性质:

    分别用2 3 4 5 6去乘它,得到的仍然是6位数,并且乘积中所包含的数字与这个6位数完全一样!只不过是它们的顺序重新排列了而已。

    请计算出这个6位数。

    这是一个整数,请通过浏览器提交答案,不要填写任何多余的内容(比如说明性的文字)

    答案 (31分)

    代码:

    #include <iostream>
    #include <cstdio>
    #include <map>
    #include <cstring>
    #include <vector>
    #include <algorithm>
    #define inf 0x3f3f3f3f
    #define mod 999101
    using namespace std;
    
    bool check(int k) {
        int t = k;
        int a[10] = {0};
        while(t) {
            a[t % 10] ++;
            t /= 10;
        }
        for(int i = 6;i >= 2;i --) {
            int d = k * i;
            if(d >= 1000000) return false;
            int b[10];
            for(int j = 0;j < 10;j ++) {
                b[j] = a[j];
            }
            while(d) {
                if(b[d % 10] -- == 0) return false;
                d /= 10;
            }
        }
        return true;
    }
    int main() {
        for(int i = 100000;i < 1000000;i ++) {
            if(i * 2 >= 1000000) break;
            if(check(i)) {
                printf("%d
    ",i);
            }
        }
    }
  • 相关阅读:
    高精度乘法
    阶乘
    高精度减法
    高精度加法
    曹冲养猪
    采药2
    nginx.conf详解
    系统盘脚本扩容
    IDEA中编写脚本并运行shell脚本
    常用的pdf工具
  • 原文地址:https://www.cnblogs.com/8023spz/p/10394946.html
Copyright © 2011-2022 走看看