题目链接
题目描述
给定一个整数 n
,求该整数的个位数字。题目定义个位数字为该整数绝对值对 10 取余的结果。
输入描述:
在一行中输入一个整数 n
。
输出描述:
输出一个整数,表示 n
的个位数字,即 |n| % 10
。
解题思路
本题的核心是提取一个整数的个位,这是一个常见的数字处理问题。
- 读取输入:首先,从标准输入读取一个整数
n
。 - 处理负数:根据题目定义,我们需要对
n
的绝对值进行操作。因此,需要先求出n
的绝对值。大多数编程语言都提供了abs()
函数。 - 取个位数:任何一个整数的个位数,都可以通过将该数对 10 取模(取余)得到。例如
123 % 10
的结果是3
。 - 输出结果:将
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操作,与输入数值大小无关。
- 空间复杂度:
- 仅需要常数空间存储变量。