题目链接
题目描述
小红拿到了一个 的矩阵,请你回答该矩阵中有多少个元素的个位数是 9。
输入:
- 第一行输入两个正整数
和
,代表矩阵的行数和列数
- 接下来的
行,每行输入
个正整数,代表矩阵的元素
输出:
- 输出一个整数,代表矩阵中个位数是 9 的元素数量
解题思路
这是一个简单的模拟问题,可以通过以下步骤解决:
-
关键发现:
- 只需要判断每个数字的个位数
- 个位数可以通过对10取余得到
- 需要遍历矩阵的每个元素
-
解题策略:
- 读入矩阵的每个元素
- 判断每个元素对10取余是否为9
- 统计满足条件的元素个数
-
具体步骤:
- 读入矩阵大小 n 和 m
- 遍历每个元素
- 判断个位数是否为9
- 累计计数
代码
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
int count = 0;
for(int i = 0; i < n; i++) {
for(int j = 0; j < m; j++) {
int x;
cin >> x;
if(x % 10 == 9) {
count++;
}
}
}
cout << count << endl;
return 0;
}
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
int count = 0;
for(int i = 0; i < n; i++) {
for(int j = 0; j < m; j++) {
int x = sc.nextInt();
if(x % 10 == 9) {
count++;
}
}
}
System.out.println(count);
}
}
n, m = map(int, input().split())
count = 0
for i in range(n):
row = list(map(int, input().split()))
for x in row:
if x % 10 == 9:
count += 1
print(count)
算法及复杂度
- 算法:模拟
- 时间复杂度:
- 需要遍历矩阵的每个元素
- 空间复杂度:
- 只需要常数空间存储变量
注意:
- 使用取余运算(%)可以方便地获取个位数
- 不需要存储整个矩阵,可以边读边处理
- 注意输入输出格式的处理