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 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.
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));
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!