题目链接

整数的个位

题目描述

给定一个整数 n,求该整数的个位数字。题目定义个位数字为该整数绝对值对 10 取余的结果。

输入描述: 在一行中输入一个整数 n

输出描述: 输出一个整数,表示 n 的个位数字,即 |n| % 10

解题思路

本题的核心是提取一个整数的个位,这是一个常见的数字处理问题。

  1. 读取输入:首先,从标准输入读取一个整数 n
  2. 处理负数:根据题目定义,我们需要对 n 的绝对值进行操作。因此,需要先求出 n 的绝对值。大多数编程语言都提供了 abs() 函数。
  3. 取个位数:任何一个整数的个位数,都可以通过将该数对 10 取模(取余)得到。例如 123 % 10 的结果是 3
  4. 输出结果:将 abs(n) % 10 的计算结果输出即可。

代码

#include <iostream>
#include <cmath> // 包含 cmath 头文件以使用 abs()

using namespace std;

int main() {
    int n;
    cin >> n;
    // 先取绝对值,再对 10 取余
    cout << abs(n) % 10 << endl;
    return 0;
}
import java.util.Scanner;
import java.lang.Math; // 导入 Math 类以使用 abs()

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        // 先取绝对值,再对 10 取余
        System.out.println(Math.abs(n) % 10);
    }
}
# 读取输入并转换为整数
n = int(input())
# 先取绝对值,再对 10 取余
print(abs(n) % 10)

算法及复杂度

  • 算法:模运算。
  • 时间复杂度: - 这是一个固定的计算和I/O操作,与输入数值大小无关。
  • 空间复杂度: - 仅需要常数空间存储变量。