CCF-GESP编程能力等级认证C++四级编程题:幸运数。
【问题描述】
1. 变化正整数的各个奇数位(从右到左,个位为第 1 位,奇数,16347),变化的规则是乘以 7,如果该奇数位与 7 相乘的结果大于 9 则各位数相加,如相加结果仍然大于 9 则继续各位数相加,直到结果不大于 9;如果该奇数位与 7 相乘的结果不大于 9 则该数为该奇数位变化结果。偶数位不发生变化。各个奇数位变化完毕后,将新数的各位数相加,如果相加之和是 8 的整数倍,则为幸运数;
2. 例如 16347,第 1 位 7 奇数位,乘以 7 结果为 49,大于 9 各位数相加为 13 大于 9继续各位数相加最后结果为 4;然后变化第 3 位 3,第 5 位 1。最后变化结果为 76344,对于结果 76344 其各位数之和为 24,是 8 的倍数,为幸运数;
3. 首先输入 N,随后输入 N 行正整数。输出 N 行,对应 N 个正整数是否为幸运数,如是则输出 T 否则 F。
【输入描述】
1. 首先输入正整数 N 随后输入 N 行正整数,每个一个数。不考虑输入不合规情形,负数、负整数、非数字构成的字符串等。
2. 特别提示:常规程序中,输入时好习惯是有提示。考试时由于系统限定,输入时所有 input()函数不可有提示信息。
【输出描述】
1. 输出 N 行,对应 N 个正整数是否为幸运数,如是则输出 T 否则 F。;
2. 特别提示:注意输出字母为英文大写,小写或其他将判为错误。
【样例输入 1】
2
16347
76344
【样例输出 1】
T
F