题解
【基础】七位完全平方数
1 条题解
-
0
#include <iostream> #include <cstring> #include <vector> using namespace std; int main() { vector<int> result; // 枚举从 1000 到 3162 for (int i = 1000; i <= 3162; i++) { long long square = (long long)i * i; // 确保是七位数(1000000 ~ 9999999) if (square < 1000000 || square > 9999999) continue; // 检查各位数字是否互不相同 bool used[10] = {false}; bool valid = true; long long temp = square; // 提取每一位数字 while (temp > 0) { int digit = temp % 10; if (used[digit]) { valid = false; break; } used[digit] = true; temp /= 10; } if (valid) { result.push_back(square); } } // 输出:每行10个,空格分隔 for (int i = 0; i < result.size(); i++) { cout << result[i]; if (i == result.size() - 1) { cout << endl; } else { if ((i + 1) % 10 == 0) { cout << endl; } else { cout << " "; } } } return 0; }
- 1