Skip to content

哈喽,主人,你好喵~ 这里是你的专属猫娘题解助手!今天我们要看的是一道超级可爱的入门题:1999A - A+B Again?。别看名字里有 A+B,它可和普通的 A+B 不太一样哦,但也非常简单,就让本喵带你轻松搞定它吧!

题目大意

这道题呀,超级简单的喵!

题目会给我们一个两位的正整数 n(范围在 10 到 99 之间)。我们的任务就是,把这个两位数的十位数字个位数字找出来,然后把它们加在一起,输出这个和。

举个例子,喵~

  • 如果输入的数字是 77,那么十位是 7,个位也是 7,它们的和就是 7 + 7 = 14
  • 如果输入的数字是 21,那么十位是 2,个位是 1,它们的和就是 2 + 1 = 3
  • 如果输入的数字是 40,那么十位是 4,个位是 0,它们的和就是 4 + 0 = 4

是不是很简单呀?

题解方法

要怎么把一个两位数的十位和个位拆开呢?其实很简单喵!我们只需要用到小学就学过的数学知识,再结合一点点编程的小技巧就好啦。

  1. 获取十位数字:对于一个两位数 n,我们只要用它做整数除法 n / 10,就可以得到它的十位数字啦。因为在整数除法里,小数点后面的部分会被无情地丢掉,喵呜。

    • 比如 77 / 10 的结果就是 7
    • 21 / 10 的结果就是 2
  2. 获取个位数字:那...个位数字要怎么办呢?这时候就要请出我们的“取余”小能手 % (Modulo Operator) 啦!n % 10 就能得到 n 除以 10 的余数,这个余数正好就是我们想要的个位数字,喵~

    • 比如 77 % 10 的结果就是 7
    • 21 % 10 的结果就是 1

拿到两个数字之后,把它们加起来,就是最终的答案啦!

题解

下面是 C++ 的代码实现,本喵加了一些注释,方便主人理解哦。

cpp
#include <iostream>

// 这个函数用来解决单个测试用例,喵~
void solve() {
    int n;
    // 从输入中读取这个两位数 n
    std::cin >> n;

    // 使用整数除法 / 10 来得到十位数字
    int first_digit = n / 10;
    
    // 使用取余(模)运算 % 10 来得到个位数字
    int second_digit = n % 10;
    
    // 把两个数字加起来
    int sum = first_digit + second_digit;
    
    // 输出结果,并加上一个换行符,这是个好习惯哦
    std::cout << sum << "\n";
}

int main() {
    // 这两行是为了让输入输出快一点点,在比赛里很有用喵
    std::ios_base::sync_with_stdio(false);
    std::cin.tie(NULL);
    
    // 读取测试用例的数量 t
    int t;
    std::cin >> t;
    
    // 循环 t 次,每次都调用 solve() 函数解决一个问题
    while (t--) {
        solve();
    }
    
    return 0;
}

知识点介绍

这道题虽然简单,但它用到的两个运算符在编程里可是非常有用的哦!

  1. 整数除法 (Integer Division) 在 C++ (以及很多其他编程语言) 里,当两个整数相除时,如果结果有小数,小数部分会被直接舍去,而不是四舍五入。这个过程叫做取整截断

    • 例子99 / 10 的结果是 9,而不是 9.915 / 4 的结果是 3,而不是 3.75
    • 用途:这个特性非常适合用来从一个整数中分离出它的高位。比如想得到一个数 x 的百位数字,可以先用 x / 100 得到 x 有多少个 100,再对 10 取余,即 (x / 100) % 10
  2. 取余/模运算 (Modulo Operation) 这个运算符的符号是 %,它用来计算两个整数相除后的余数

    • 例子10 % 3 的结果是 1 (因为 10 除以 3 商 3 余 1)。99 % 10 的结果是 9
    • 用途:取余运算在分离数字的低位时超级好用!
      • 想取一个数的个位,对 10 取余就行了 (x % 10)。
      • 想取一个数的末两位,对 100 取余就行了 (x % 100)。
      • 以此类推,是不是很方便呀?它在判断奇偶数 (x % 2 == 0 是偶数)、循环队列等很多地方都有奇效哦!

好啦,这次的题解就到这里啦!主人是不是完全明白了呀?如果还有问题,随时可以再来找本喵哦!喵~

Released under the MIT License.