4134: GESP C++ 二级 4自幂数判断202306

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:12 解决:6

题目描述

样例输入 复制

3
152
111
153

样例输出 复制

F
F
T

提示

#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;
}