acgo题库
  • 首页
  • 题库
  • 学习
  • 天梯
  • 备赛

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
  • 竞赛
  • 讨论
  • 团队
登录
注册
题目详情提交记录(0)
  • 解题思路

    #include <iostream> #include <string> using namespace std; int transform(int digit) { int x = digit * 7; while (x > 9) { int sum = 0; while (x > 0) { sum += x % 10; x /= 10; } x = sum; } return x; } bool isLucky(long long num) { string s = to_string(num); int n = s.length(); int total_sum = 0; // 从右到左:位置1 是 s[n-1],位置2 是 s[n-2]... for (int i = 0; i < n; i++) { int pos = n - 1 - i; // 在字符串中的下标 int digit = s[pos] - '0'; if ((i + 1) % 2 == 1) { // 奇数位 digit = transform(digit); } total_sum += digit; } return total_sum % 8 == 0; } int main() { int N; cin >> N; for (int i = 0; i < N; i++) { long long x; cin >> x; if (isLucky(x)) { cout << "T" << endl; } else { cout << "F" << endl; } } return 0; }

    userId_undefined

    RRRRR哈

    倔强青铜贪心·贪心尝试者时空双修者递归·套娃学徒字符串·魔法使模拟·模拟练习生
    4阅读
    0回复
    1点赞
暂无数据

提交答案之后,这里将显示提交结果~

首页