1 条题解

  • 0
    @ 2026-3-16 20:27:11
    #include <iostream>
    #include <cmath>
    using namespace std;
    
    using ll = long long;
    
    bool is_square(ll x) {
        if (x < 0) return false;
        ll r = sqrt((double)x);
        while (r * r < x) r++;
        while (r * r > x) r--;
        return r * r == x;
    }
    
    bool is_cube(ll x) {
        if (x < 0) return false;
        ll r = cbrt((double)x);
        while (r * r * r < x) r++;
        while (r * r * r > x) r--;
        return r * r * r == x;
    }
    
    int main() {
        int n;
        cin >> n;
    
        while (n--) {
            ll z;
            cin >> z;
    
            if (z % 3 == 0 && is_cube(z / 3)) {
                cout << z << " is a triple flower\n";
            } else if (z % 2 == 0 && is_square(z / 2)) {
                cout << z << " is a double flower\n";
            } else {
                cout << z << " is " << z << '\n';
            }
        }
    
        return 0;
    }
    
    • 1

    信息

    ID
    193
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    (无)
    递交数
    207
    已通过
    30
    上传者