Sum of Matrix Diagonals
Compute the sums of the primary and secondary diagonals of a square matrix.
Sample input
[[1,2,3],[4,5,6],[7,8,9]]
Sample output
15 15
Solution
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
n = len(matrix)
primary = sum(matrix[i][i] for i in range(n))
secondary = sum(matrix[i][n - 1 - i] for i in range(n))
print(primary, secondary)
const matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
const n = matrix.length;
let primary = 0, secondary = 0;
for (let i = 0; i < n; i++) {
primary += matrix[i][i];
secondary += matrix[i][n - 1 - i];
}
console.log(primary + " " + secondary);
public class Main {
public static void main(String[] args) {
int[][] matrix = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int n = matrix.length, primary = 0, secondary = 0;
for (int i = 0; i < n; i++) {
primary += matrix[i][i];
secondary += matrix[i][n - 1 - i];
}
System.out.println(primary + " " + secondary);
}
}
fun main() {
val matrix = arrayOf(intArrayOf(1, 2, 3), intArrayOf(4, 5, 6), intArrayOf(7, 8, 9))
val n = matrix.size
var primary = 0
var secondary = 0
for (i in 0 until n) {
primary += matrix[i][i]
secondary += matrix[i][n - 1 - i]
}
println("$primary $secondary")
}
let matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
let n = matrix.count
var primary = 0, secondary = 0
for i in 0..<n {
primary += matrix[i][i]
secondary += matrix[i][n - 1 - i]
}
print("\(primary) \(secondary)")
void main() {
final matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
final n = matrix.length;
var primary = 0, secondary = 0;
for (var i = 0; i < n; i++) {
primary += matrix[i][i];
secondary += matrix[i][n - 1 - i];
}
print('$primary $secondary');
}
#include <iostream>
using namespace std;
int main() {
int matrix[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int n = 3, primary = 0, secondary = 0;
for (int i = 0; i < n; i++) {
primary += matrix[i][i];
secondary += matrix[i][n - 1 - i];
}
cout << primary << " " << secondary << endl;
return 0;
}
#include <stdio.h>
int main() {
int matrix[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int n = 3, primary = 0, secondary = 0;
for (int i = 0; i < n; i++) {
primary += matrix[i][i];
secondary += matrix[i][n - 1 - i];
}
printf("%d %d\n", primary, secondary);
return 0;
}