Rumah  >  Artikel  >  hujung hadapan web  >  Program JavaScript untuk menjana matriks yang jumlah subpepenjurunya adalah sama dengan kuasa dua sempurna

Program JavaScript untuk menjana matriks yang jumlah subpepenjurunya adalah sama dengan kuasa dua sempurna

WBOY
WBOYke hadapan
2023-09-12 09:21:06846semak imbas

JavaScript 程序生成一个次对角线之和等于完美平方的矩阵

Kami akan menulis program JavaScript yang menghasilkan matriks supaya jumlah pepenjurunya ialah segi empat tepat. Atur cara kami akan menggunakan gelung bersarang untuk mengulangi matriks dan mengira jumlah unsur sub-pepenjuru. Kami kemudiannya akan menggunakan kaedah Math.sqrt() untuk mencari punca kuasa dua jumlah dan menyemak sama ada ia adalah integer. Jika ya, kami akan menganggap jumlah itu sebagai kuasa dua sempurna.

Kaedah

Kaedah untuk menghasilkan matriks yang jumlah subpepenjurunya bersamaan dengan kuasa dua sempurna adalah seperti berikut -

  • Buat tatasusunan 2D saiz n x n, dengan n ialah saiz matriks segi empat sama.

  • Isi matriks dengan nombor rawak antara 1 dan 100.

  • Kira hasil tambah subpepenjuru suatu matriks.

  • Periksa sama ada jumlahnya ialah segi empat tepat. Jika ia bukan segi empat sama sempurna, hasilkan matriks baharu dan ulangi langkah 2 hingga 4.

  • Mengembalikan matriks yang jumlah subpenjurunya bersamaan dengan kuasa dua sempurna.

  • Untuk menyemak sama ada nombor ialah kuasa dua sempurna, anda boleh menggunakan fungsi Math.sqrt() dan bandingkan hasilnya dengan nilai integer punca kuasa dua.

Contoh

Ini ialah contoh program JavaScript yang menjana matriks supaya jumlah pepenjurunya sama dengan segi empat tepat -

function generateMatrix(n) {
   let matrix = [];
   for (let i = 0; i < n; i++) {
      matrix[i] = [];
      for (let j = 0; j < n; j++) {
         matrix[i][j] = i * n + j + 1;
      }
   }
   let sum = 0;
   for (let i = 0; i < n; i++) {
      sum += matrix[i][n - i - 1];
   }
   let squareRoot = Math.floor(Math.sqrt(sum));
   if (squareRoot * squareRoot !== sum) {
      return null;
   }
   return matrix;
}

const n = 1;
console.log(generateMatrix(n));

Arahan

    Fungsi
  • generateMatrix menerima parameter n, yang mewakili saiz matriks yang akan dijana.

  • Fungsi ini memulakan tatasusunan 2D matriks kosong dan gelung melalui setiap baris dan lajur untuk mengisi matriks dengan nombor i * n + j + 1, di mana i ialah nombor baris dan j ialah lajur Nombor.

  • Fungsi ini mengira jumlah subpepenjuru matriks (i, n - i - 1) dengan menggelung setiap baris dan lajur, menambah nilai pada indeks, dengan i ialah nombor baris.

  • Fungsi ini mengira punca kuasa dua jumlah dan membundarkan ke bawah kepada integer terdekat. Jika kuasa dua integer tidak sama dengan jumlah, fungsi mengembalikan null, menunjukkan bahawa jumlah itu bukan kuasa dua sempurna.

  • Jika jumlahnya ialah kuasa dua sempurna, fungsi mengembalikan matriks yang terhasil.

Atas ialah kandungan terperinci Program JavaScript untuk menjana matriks yang jumlah subpepenjurunya adalah sama dengan kuasa dua sempurna. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam