#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;
}
麻烦改一下