1 solutions

  • 0
    @ 2024-12-5 18:19:39

    C++ :

    #include <iostream>
    using namespace std;
    int main() {
    int m = 0;
    cin >> m;
    for (int i = 0; i < m; i++) {
    int n = 0;
    cin >> n;
    // 数一下 n 有多少位数,记为 l
    int t = n, l = 0;
    while (t > 0) {
    t /= 10;
    l++;
    }
    // 每位数 l 次方求和,记为 sum
    int sum = 0;
    t = n;
    while (t > 0) {
    int d = t % 10;
    t /= 10;
    int mul = 1;
    for (int j = 0; j < l; j++)
    mul *= d;
    sum += mul;
    }
    // 根据 sum 和 n 是否相等,判断是否为自幂数
    if (sum == n)
    cout << "T" << endl;
    else
    cout << "F" << endl;
    }
    return 0;
    }
    
    • 1

    Information

    ID
    9149
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By