Jadual Kandungan
Math.pow() fungsi
Pernyataan Masalah
Kaedah
Kaedah 1: Math.pow dan Math.exp
Contoh
Output
Kaedah 2: Kaedah Newton
Kaedah 3: Carian binari
Kesimpulan
Rumah hujung hadapan web tutorial js Kira nilai (m)1/n dalam JavaScript

Kira nilai (m)1/n dalam JavaScript

Aug 25, 2023 am 09:25 AM

在 JavaScript 中计算 (m)1/n 的值

Dalam bidang pengaturcaraan JavaScript, kebolehan mengira nilai kuasa 1/n (m) adalah sangat penting kerana ia membolehkan pembangun melaksanakan operasi matematik yang kompleks dengan tepat dan cekap. Artikel ini mengambil kesempatan daripada kuasa pengiraan JavaScript untuk menyelidiki kerumitan pengiraan nilai eksponen tersebut. Dengan meneroka algoritma asas dan menggunakan fungsi matematik yang jarang digunakan, kami akan memberikan pembangun pengetahuan dan alatan yang mereka perlukan untuk melaksanakan pengiraan ini dengan lancar dalam program JavaScript mereka. Sertai kami dalam perjalanan yang penuh inspirasi ini sambil kami membongkar rahsia pengiraan kuasa 1/n (m), memperkasakan pembangun untuk menangani cabaran matematik dengan keyakinan baharu.

Math.pow() fungsi

Fungsi

Math.pow() ialah fungsi terbina dalam dalam objek Matematik JavaScript yang membolehkan anda mengira asas yang didarab dengan eksponen yang dinaikkan kepada kuasa. Ia memerlukan dua parameter: asas dan eksponen.

Sintaks untuk menggunakan Math.pow() adalah seperti berikut -

Math.pow(base, exponent);
Salin selepas log masuk

Di sini, pangkalan mewakili kuasa nombor yang anda inginkan, dan eksponen mewakili kuasa asas yang anda inginkan.

Pernyataan Masalah

Diberi dua integer positif, integer asas m dan integer eksponen n, tentukan nilai punca ke-n bagi m, dinyatakan sebagai m^(1/n). Mengembalikan hasil yang dibundarkan kepada integer terdekat.

Contoh input -

m = 64, n = 3
Salin selepas log masuk

Contoh output -

4
Salin selepas log masuk

Kaedah

Dalam artikel ini kita akan melihat beberapa cara berbeza untuk menyelesaikan masalah di atas dalam JavaScript -

  • Math.pow dan Math.exp

  • Kaedah Newton

  • Carian binari

Kaedah 1: Math.pow dan Math.exp

Kaedah ini menggunakan fungsi Math.pow() untuk mengira punca ke-n suatu nombor. Ia melibatkan satu baris kod: root = Math.pow(m, 1/n). Dengan menaikkan m kepada kuasa 1/n, ia menjadikannya mudah untuk mengira punca yang diperlukan. Kaedah ini mudah, langsung dan menyediakan penyelesaian pantas tanpa memerlukan algoritma pencarian akar tersuai.

Contoh

Dalam coretan kod ini, fungsi Math.pow() digunakan untuk mengira punca ke-n bagi nombor tertentu. Gunakan formula Math.pow(m, 1/n), dengan m mewakili bilangan punca yang akan ditemui dan n mewakili susunan punca. Nilai yang terhasil disimpan dalam pembolehubah akar dan seterusnya dipaparkan pada konsol.

let m = 27;
let n = 3;
let root = Math.pow(m, 1/n);
console.log(root);
Salin selepas log masuk

Output

Berikut ialah output konsol -

3
Salin selepas log masuk

Kaedah 2: Kaedah Newton

Kaedah Newton ialah algoritma lelaran yang digunakan untuk menganggarkan punca sesuatu fungsi. Apabila mencari punca ke-n bagi nombor m, kita mulakan dengan tekaan awal m/n, menggunakan kaedah Newton. Algoritma kemudiannya menapis tekaan secara berulang menggunakan formula x = ((n - 1) * x + m / Math.pow(x, n - 1)) / n . Lelaran diteruskan sehingga perbezaan antara Math.pow(x, n) dan m kurang daripada toleransi yang ditentukan. Nilai x yang terhasil mewakili anggaran punca ke-n bagi m.

Contoh

Fungsi

​​nthRoot mengira punca ke-n bagi nombor tertentu (m) dengan ketepatan pilihan (toleransi). Tekaan awal untuk punca ditetapkan kepada m dibahagikan dengan n. Perhalusi tekaan secara berulang melalui gelung sementara sehingga perbezaan antara Math.pow(x, n) dan m menjadi kurang daripada toleransi. Formula kaedah Newton digunakan dalam setiap lelaran untuk mendapatkan penghampiran yang lebih baik: x = ((n - 1) * x + m / Math.pow(x, n - 1)) / n. Akhirnya mengembalikan anggaran akhir akar.

function nthRoot(m, n, tolerance = 0.0001) {
   let x = m / n; // Initial guess

   while (Math.abs(Math.pow(x, n) - m) > tolerance) {
      x = ((n - 1) * x + m / Math.pow(x, n - 1)) / n;
   }
   return x;
}
let m = 27;
let n = 3;
let root = nthRoot(m, n);
console.log(root);
Salin selepas log masuk

Output

Berikut ialah output konsol -

3.000000068671529
Salin selepas log masuk

Kaedah 3: Carian binari

Kaedah carian binari digunakan untuk mencari punca ke-n bagi nombor m. Ia memulakan julat carian dengan rendah = 0 dan tinggi = maks(1, m). Dengan mengira titik tengah sebagai pertengahan, pertengahan dinaikkan kepada kuasa ke-n ditentukan sebagai nilai tekaan. Bergantung pada sama ada nilai tekaan lebih besar atau kurang daripada m, nilai rendah atau tinggi dikemas kini, sekali gus mengurangkan separuh julat carian. Lelaran berterusan sehingga perbezaan antara titik tinggi dan rendah kurang daripada toleransi yang ditentukan. Nilai akhir pertengahan ialah lebih kurang punca ke-n bagi m.

Contoh

Fungsi

nthRoot mengambil m, n, dan toleransi pilihan sebagai hujah. Pembolehubah rendah dan tinggi dimulakan kepada 0 dan maks(1, m) masing-masing. Gelung sementara berterusan sehingga perbezaan antara tinggi dan rendah lebih besar daripada toleransi. Dalam setiap lelaran, titik tengah (pertengahan) dikira. Pembolehubah tekaan menyimpan pertengahan dinaikkan kepada kuasa ke-n. Bergantung pada sama ada tekaan lebih besar atau kurang daripada m, kemas kini nilai rendah atau tinggi untuk mengecilkan carian. Apabila gelung berakhir, nilai pertengahan akhir dikembalikan sebagai anggaran punca ke-n bagi m.

function nthRoot(m, n, tolerance = 0.0001) {
   let low = 0;
   let high = Math.max(1, m);
   let mid;

   while (high - low > tolerance) {
      mid = (low + high) / 2;
      let guess = Math.pow(mid, n);

      if (guess < m) {
         low = mid;
      } else if (guess > m) {
         high = mid;
      } else {
         break;
      }
   }
   return mid;
}
let m = 27;
let n = 3;
let root = nthRoot(m, n);
console.log(root);
Salin selepas log masuk

Output

Berikut ialah output konsol -

3.000040054321289
Salin selepas log masuk

Kesimpulan

Akhirnya, proses pengiraan nilai (m) yang dinaikkan kepada kuasa 1/n dalam JavaScript memberikan cabaran pengiraan yang menarik yang boleh diselesaikan secara elegan dengan melaksanakan algoritma yang sesuai. Walaupun kurang biasa, operasi matematik seperti ini sangat penting dalam pelbagai bidang seperti kriptografi, pemodelan saintifik dan analisis data. Dengan memanfaatkan kuasa JavaScript dan menggunakan kaedah yang tepat, pengaturcara boleh menilai ungkapan ini dengan cekap, membuka kunci kemungkinan baharu dan membolehkan pembangunan aplikasi yang kompleks. Secara ringkasnya, menguasai pengiraan (m)1/n dalam JavaScript mengembangkan keupayaan matematik yang tersedia untuk pengaturcara, memupuk inovasi dan membolehkan pelaksanaan konsep matematik yang kompleks dalam dunia pembangunan web.

Atas ialah kandungan terperinci Kira nilai (m)1/n dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana saya membuat dan menerbitkan perpustakaan JavaScript saya sendiri? Bagaimana saya membuat dan menerbitkan perpustakaan JavaScript saya sendiri? Mar 18, 2025 pm 03:12 PM

Artikel membincangkan membuat, menerbitkan, dan mengekalkan perpustakaan JavaScript, memberi tumpuan kepada perancangan, pembangunan, ujian, dokumentasi, dan strategi promosi.

Bagaimanakah saya mengoptimumkan kod JavaScript untuk prestasi dalam penyemak imbas? Bagaimanakah saya mengoptimumkan kod JavaScript untuk prestasi dalam penyemak imbas? Mar 18, 2025 pm 03:14 PM

Artikel ini membincangkan strategi untuk mengoptimumkan prestasi JavaScript dalam pelayar, memberi tumpuan kepada mengurangkan masa pelaksanaan dan meminimumkan kesan pada kelajuan beban halaman.

Apa yang perlu saya lakukan jika saya menghadapi percetakan kod yang dihiasi untuk resit kertas terma depan? Apa yang perlu saya lakukan jika saya menghadapi percetakan kod yang dihiasi untuk resit kertas terma depan? Apr 04, 2025 pm 02:42 PM

Soalan dan penyelesaian yang sering ditanya untuk percetakan tiket kertas terma depan dalam pembangunan front-end, percetakan tiket adalah keperluan umum. Walau bagaimanapun, banyak pemaju sedang melaksanakan ...

Bagaimanakah saya boleh debug kod javascript dengan berkesan menggunakan alat pemaju pelayar? Bagaimanakah saya boleh debug kod javascript dengan berkesan menggunakan alat pemaju pelayar? Mar 18, 2025 pm 03:16 PM

Artikel ini membincangkan debugging JavaScript yang berkesan menggunakan alat pemaju pelayar, memberi tumpuan kepada menetapkan titik putus, menggunakan konsol, dan menganalisis prestasi.

Bagaimana saya menggunakan kerangka koleksi Java dengan berkesan? Bagaimana saya menggunakan kerangka koleksi Java dengan berkesan? Mar 13, 2025 pm 12:28 PM

Artikel ini meneroka penggunaan rangka koleksi Java yang berkesan. Ia menekankan memilih koleksi yang sesuai (senarai, set, peta, giliran) berdasarkan struktur data, keperluan prestasi, dan keselamatan benang. Mengoptimumkan penggunaan pengumpulan melalui cekap

Bagaimanakah saya menggunakan peta sumber untuk debug kod JavaScript minified? Bagaimanakah saya menggunakan peta sumber untuk debug kod JavaScript minified? Mar 18, 2025 pm 03:17 PM

Artikel ini menerangkan cara menggunakan peta sumber untuk debug JavaScript minifikasi dengan memetakannya kembali ke kod asal. Ia membincangkan membolehkan peta sumber, menetapkan titik putus, dan menggunakan alat seperti Chrome Devtools dan Webpack.

TypeScript untuk pemula, Bahagian 2: Jenis Data Asas TypeScript untuk pemula, Bahagian 2: Jenis Data Asas Mar 19, 2025 am 09:10 AM

Sebaik sahaja anda telah menguasai tutorial TypeScript peringkat kemasukan, anda harus dapat menulis kod anda sendiri dalam IDE yang menyokong TypeScript dan menyusunnya ke dalam JavaScript. Tutorial ini akan menyelam ke dalam pelbagai jenis data dalam TypeScript. JavaScript mempunyai tujuh jenis data: null, undefined, boolean, nombor, rentetan, simbol (diperkenalkan oleh ES6) dan objek. Typescript mentakrifkan lebih banyak jenis atas dasar ini, dan tutorial ini akan meliputi semuanya secara terperinci. Jenis data null Seperti JavaScript, Null dalam TypeScript

Bermula dengan Chart.js: Pie, Donut, dan Carta Bubble Bermula dengan Chart.js: Pie, Donut, dan Carta Bubble Mar 15, 2025 am 09:19 AM

Tutorial ini akan menerangkan cara membuat carta pai, cincin, dan gelembung menggunakan carta.js. Sebelum ini, kami telah mempelajari empat jenis carta carta.js: carta baris dan carta bar (tutorial 2), serta carta radar dan carta rantau polar (Tutorial 3). Buat carta pai dan cincin Carta pai dan carta cincin sangat sesuai untuk menunjukkan perkadaran keseluruhan yang dibahagikan kepada bahagian yang berlainan. Sebagai contoh, carta pai boleh digunakan untuk menunjukkan peratusan singa lelaki, singa wanita dan singa muda dalam safari, atau peratusan undi yang diterima oleh calon yang berbeza dalam pilihan raya. Carta pai hanya sesuai untuk membandingkan parameter tunggal atau dataset. Harus diingat bahawa carta pai tidak dapat menarik entiti dengan nilai sifar kerana sudut kipas dalam carta pai bergantung pada saiz berangka titik data. Ini bermaksud mana -mana entiti dengan perkadaran sifar

See all articles