কম্পিউটার টিউটোরিয়াল

ম্যাট্রিক্সের প্রধান ডায়াগোনালের গুণফল - JavaScript

স্কয়ার ম্যাট্রিক্সের প্রধান ডায়াগোনাল (top-left থেকে bottom-right) উপাদানগুলোর গুণফল বের করা।

উদাহরণ

Matrix:
[1, 3, 4, 2]
[4, 5, 3, 5]
[5, 2, 6, 4]
[8, 2, 9, 3]

প্রধান ডায়াগোনাল: 1, 5, 6, 3
গুণফল: 1 × 5 × 6 × 3 = 90

সমাধান

const diagonalProduct = (matrix) => {
  // স্কয়ার ম্যাট্রিক্স চেক
  const n = matrix.length;
  if (!matrix.every(row => row.length === n)) {
    throw new Error('Matrix must be square');
  }
  
  let product = 1;
  
  for (let i = 0; i < n; i++) {
    product *= matrix[i][i]; // i == j হলে প্রধান ডায়াগোনাল
  }
  
  return product;
};

// সেকেন্ডারি ডায়াগোনাল (top-right থেকে bottom-left)
const secondaryDiagonalProduct = (matrix) => {
  const n = matrix.length;
  let product = 1;
  
  for (let i = 0; i < n; i++) {
    product *= matrix[i][n - 1 - i];
  }
  
  return product;
};

// উভয় ডায়াগোনালের গুণফল
const bothDiagonalsProduct = (matrix) => {
  const n = matrix.length;
  let primary = 1, secondary = 1;
  
  for (let i = 0; i < n; i++) {
    primary *= matrix[i][i];
    secondary *= matrix[i][n - 1 - i];
  }
  
  return { primary, secondary };
};

// টেস্ট
const arr = [
  [1, 3, 4, 2],
  [4, 5, 3, 5],
  [5, 2, 6, 4],
  [8, 2, 9, 3]
];

console.log(diagonalProduct(arr));           // 90
console.log(secondaryDiagonalProduct(arr));  // 2×3×2×8 = 96
console.log(bothDiagonalsProduct(arr));      // {primary: 90, secondary: 96}

ব্যাখ্যা

  • প্রধান ডায়াগোনাল: row === col (i === j)
  • সেকেন্ডারি ডায়াগোনাল: row + col === n - 1
  • সময় জটিলতা: O(n) - শুধু n ইটারেশন

উৎপাদন

90
  1. জাভাস্ক্রিপ্টে অ্যারে খালি কীভাবে করবেন?

  2. জাভাস্ক্রিপ্টে অ্যারে খালি করার উপায়

  3. জাভাস্ক্রিপ্ট বেসিক অ্যারে মেথড: push, pop, shift, unshift, splice

  4. জাভাস্ক্রিপ্টে reduce() ব্যবহার করে অ্যারে উপাদানগুলোর গুণফল বের করা