用的豆包 40tps 求助
查看原帖
用的豆包 40tps 求助
1010906
zbh307219楼主2025/1/6 21:08
#include <iostream>
#include <string>
#include <vector>

// 函数:将奇数位数字进行变换
std::vector<int> transform(const std::vector<int>& digitVec) {
    std::vector<int> result;
    for (size_t i = 0; i < digitVec.size(); ++i) {
        int digit = digitVec[i];
        if (i % 2 == 0) {  // 奇数位,从 0 开始计数
            int temp = digit * 7;
            while (temp > 9) {
                int sum = 0;
                std::string tempStr = std::to_string(temp);
                for (char c : tempStr) {
                    sum += c - '0';
                }
                temp = sum;
            }
            result.push_back(temp);
        } else {
            result.push_back(digit);
        }
    }
    return result;
}

// 函数:计算高精度数字各位数字之和
int digitSum(const std::vector<int>& digitVec) {
    int sum = 0;
    for (int digit : digitVec) {
        sum += digit;
    }
    return sum;
}

// 函数:将字符串转换为高精度数字存储在向量中
std::vector<int> stringToVec(const std::string& numStr) {
    std::vector<int> digitVec;
    for (char c : numStr) {
        digitVec.push_back(c - '0');
    }
    return digitVec;
}

// 函数:将高精度数字向量转换为字符串
std::string vecToString(const std::vector<int>& digitVec) {
    std::string result;
    for (int digit : digitVec) {
        result += std::to_string(digit);
    }
    return result;
}

int main() {
    int n;
    std::cin >> n;
    for (int i = 0; i < n; ++i) {
        std::string numStr;
        std::cin >> numStr;
        std::vector<int> digitVec = stringToVec(numStr);
        std::vector<int> transformedVec = transform(digitVec);
        std::string transformedStr = vecToString(transformedVec);
        if (digitSum(transformedVec) % 8 == 0) {
            std::cout << "T" << std::endl;
        } else {
            std::cout << "F" << std::endl;
        }
    }
    return 0;
}

麻烦改一下

2025/1/6 21:08
加载中...