ConstStar
发布于 2022-09-04 / 105 阅读 / 0 评论 / 0 点赞

蓝桥杯2015年A组:奇妙的数字

问题描述

小明发现了一个奇妙的数字。它的平方和立方正好把0~9的10个数字每个用且只用了一次。
你能猜出这个数字是多少吗?

解题方案

代码

#include <iostream>
#include <sstream>
#include <algorithm>

using namespace std;

bool check(long long n1, long long n2) {
    stringstream ss;
    string buf;
    ss << n1 << n2;
    ss >> buf;
    sort(buf.begin(), buf.end());

    return buf == "0123456789";
}

int main() {

    for (int i = 0; i < 1000; ++i) {
        long long n1 = (long long) i * i;
        int n2 = n1 * i;

        if (check(n1, n2)) {
            cout << i << endl
                 << n1 << "  " << n2 << endl;
        }
    }

    return 0;
}

输出

69
4761 328509


评论