#include <iostream>
using namespace std;

// 检查平方数是否是7位数
bool is7Digits(long long num) {
    return num >= 1000000 && num <= 9999999;
}

// 检查7位数的各位数字是否互不相同
bool allDigitsDifferent(long long num) {
    int digits[7];  // 存储7位数字
    bool used[10] = {false};  // 标记0-9数字是否已使用
    
    // 提取每一位数字
    for (int i = 0; i < 7; i++) {
        digits[i] = num % 10;
        num /= 10;
        
        // 检查该数字是否已使用过
        if (used[digits[i]]) {
            return false;  // 有重复,不符合条件
        }
        used[digits[i]] = true;  // 标记该数字已使用
    }
    
    return true;  // 所有数字都不重复
}

int main() {
    int x, y;
    cin >> x >> y;
    
    // 由于平方是7位数,原数应该在1000到3162之间
    // 但题目给定x,y在1000-9999之间,我们只需判断平方是否为7位数即可
    
    for (int i = x; i <= y; i++) {
        long long square = (long long)i * i;  // 计算平方
        
        // 检查平方是否为7位数且各位数字互不相同
        if (is7Digits(square) && allDigitsDifferent(square)) {
            cout << i << endl;  // 输出原数
        }
    }
    
    return 0;
}

0 条评论

目前还没有评论...