TB椰程 TypeBuddy 打字搭子

2023-06 · 4级 · 幸运数

GESP 标程 · 考级真题 · 代码 · cpp · 难度 5/5 · 共 909 字

CCF 原卷官方标程 · 结构体与类、位运算 · 本地编译通过(抽取破损已校订)

  • 2023-06
  • 结构体与类

正文

// GESP 2023-06 C++ 4级 编程题 1 · 幸运数
// 原题:https://oj.yecheng.tv/p/gs2306l4p1
// 官方原卷:https://gesp.ccf.org.cn/101/attach/1553241699516448.pdf
// 题意:小明发明了一种“幸运数”。
// 知识点:结构体与类、位运算
// 参考程序:CCF 原卷官方标程,PDF 抽取后已去行号;本地编译核验通过,供打字练习
// 原卷样例验证:编译失败
// 校订:return0 → return 0(PDF 抽取丢空格);算法保持官方原样
//
#include <iostream>
using namespace std;
//奇数位要做的数字变换
int trans(int t) {
    if (t == 0)
        return 0;
    return (t * 7 - 1) % 9 + 1;
}
//判断是否为幸运数
bool judge(long long x) {
    int sum = 0;
    for (int d = 1; x > 0; d++, x /= 10) {
        int t = (int)(x % 10);
        if (d % 2 == 0)
            sum += t;
        else
            sum += trans(t);
    }
    return (sum % 8 == 0);
}
int main() {
    int N = 0;
    cin >> N;
    for (int n = 0; n < N; n++) {
        long long x = 0;
        cin>>x;
        if(judge(x))
            cout<<"T"<<endl;
        else
            cout<<"F"<<endl;
    }
    return 0;
}

GESP 标程 · 考级真题的其它内容

打字首页 · 英语学习中心 · 词库画廊 · 编程打字 · 指法入门 · 天梯榜 · 数据分析 · 班级课堂 · 关于我们
椰程 TypeBuddy 打字搭子 —— 键盘指法练习 · 单词记忆 · 班级课堂 · 在线 PK