题目来源https://www.luogu.com.cn/problem/B3850题目背景对应的选择、判断题https://ti.luogu.com.cn/problemset/1126题目描述小明发明了一种 “幸运数”。一个正整数其偶数位不变个位为第 1 位十位为第 2 位以此类推奇数位做如下变换将数字乘以 7如果不大于 9 则作为变换结果否则把结果的各位数相加如果结果不大于 9 则作为变换结果否则结果仍大于 9继续把各位数相加直到结果不大于 9作为变换结果。变换结束后把变换结果的各位数相加如果得到的和是 8 的倍数则称一开始的正整数为幸运数。例如16347第 1 位为 7乘以 7 结果为 49大于 9各位数相加为 13仍大于 9继续各位数相加最后结果为 4第 3 位为 3变换结果为 3第 5 位为 1变换结果为 7。最后变化结果为 76344对于结果 76344 其各位数之和为 24是 8 的倍数。因此 16347 是幸运数。输入格式输入第一行为正整数 N表示有 N 个待判断的正整数。约定 1≤N≤20。从第 2 行开始的 N 行每行一个正整数为待判断的正整数。约定这些正整数小于 1012。输出格式输出 N 行对应 N 个正整数是否为幸运数如是则输出T否则输出F。提示不需要等到所有输入结束再依次输出可以输入一个数就判断一个数并输出再输入下一个数。输入输出样例输入 #1复制2 16347 76344输出 #1复制T F题目分析用字符串优化就行#include bits/stdc.h using namespace std; string s0753186429;//用代码运行出来的结果0~9转换的结果 int main() { int n; cinn; while(n--) { string n; cinn; for(int in.size()-1;i0;i-2){ n[i]s[n[i]-0]; } int ans0; for(int i0;in.size();i){ ansans(n[i]-0); } if(ans%80) coutTendl; else coutFendl; } return 0; }