问题描述
小明发现了一个奇妙的数字。它的平方和立方正好把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