top1编程
← 返回题目
题解

【入门】求任意三位数各个数位上数字的和-2

1 条题解

  • 0
    @ 2026-7-31 12:22:59

    解题思路

    题目要求把一个三位数的百位、十位、个位数字拆出来,然后求和。

    怎么拆数字? 用除法和取余:

    • 百位:x 除以 100,得到百位数(比如 123÷100=1)
    • 十位:x 先除以 10 再对 10 取余(比如 123÷10=12,12%10=2)
    • 个位:x 对 10 取余(比如 123%10=3)

    然后把三个数字加起来就行。

    举例 123:

    • 百位 123÷100=1
    • 十位 (123÷10)%10=2
    • 个位 123%10=3
    • 和 = 1+2+3 = 6

    参考代码

    #include <iostream>
    using namespace std;
    
    int main() {
        int x;
        cin >> x;
    
        int b = x / 100;         // 百位
        int s = (x / 10) % 10;   // 十位
        int g = x % 10;          // 个位
    
        cout << b + s + g << endl;
        return 0;
    }
    

    复杂度分析

    • 时间复杂度:O(1)
    • 空间复杂度:O(1)
    • 1