1 条题解

  • 0
    @ 2026-10-18 18:28:41

    G2013 [GESP202409 二级] 数位之和 题解

    知识点:字符串遍历、数位和、整除判断。

    解题思路

    逐个字符求数字的各位之和sum,再判断sum是否能被7整除。

    为什么正确

    字符减'0'得到对应数位,逐位求和后,取模条件正是题意。

    易错点

    判断的是数位和,而不是原数字;超长数字读作字符串。

    复杂度

    时间O(总位数),空间O(单个数字位数)。

    参考代码(C++17)

    #include<bits/stdc++.h>
    
    using namespace std;
    int main() {
        ios::sync_with_stdio(false);
        cin.tie(nullptr);
        int n;
        cin>>n;
        while(n--) {
            string s;
            cin>>s;
            int sum=0;
            for(char c:s)sum+=c-'0';
            cout<<(sum%7==0?"Yes":"No")<<"\n";
        }
    }
    

    说明

    本题解为配套教学整理,非官方题解。复杂度按本页参考实现计算,题库使用6个自行生成的测试点。

    • 1

    信息

    ID
    651
    时间
    1000ms
    内存
    512MiB
    难度
    进阶
    标签
    递交数
    1
    已通过
    1
    上传者