Hướng dẫn giải của Midterm.1 Matrix.4 Số hoàn hảo
Chỉ dùng lời giải này khi không có ý tưởng, và đừng copy-paste code từ lời giải này. Hãy tôn trọng người ra đề và người viết lời giải.
Nộp một lời giải chính thức trước khi tự giải là một hành động có thể bị ban.
Nộp một lời giải chính thức trước khi tự giải là một hành động có thể bị ban.
Tác giả: , ,
import java.util.*;
public class Matrix {
public static int[][] inputMatrix(int n, Scanner sc) {
int[][] matrix = new int[n][n];
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
matrix[i][j] = sc.nextInt();
}
}
return matrix;
}
public static void printMatrix(int[][] matrix) {
for (int[] line: matrix) {
for (int number: line) {
System.out.print(number + " ");
}
System.out.println();
}
}
public static int sumDiag(int[][] matrix) {
int n = matrix.length;
int result = 0;
for (int i = 0; i < n; i++) result += matrix[i][n - 1 - i];
return result;
}
public static boolean isPerfectNumber(int n) {
int sumOfDivisors = 0;
for (int i = 1; i < n; i++) {
if (n % i == 0) sumOfDivisors += i;
}
return (sumOfDivisors == n);
}
public static void findPerfects(int[][] matrix, int k) {
int n = matrix.length;
boolean check = false;
for (int i = 0; i < n; i++) {
int number = matrix[i][k];
if (isPerfectNumber(number)) {
System.out.print(number + " ");
check = true;
}
}
if (!check) System.out.println("Unavailable.");
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int k = sc.nextInt();
int[][] matrix = inputMatrix(n, sc);
findPerfects(matrix, k);
}
}

Bình luận