Rumah > hujung hadapan web > tutorial js > Codewars - Bina timbunan Kiub

Codewars - Bina timbunan Kiub

Patricia Arquette
Lepaskan: 2025-01-07 08:32:39
asal
607 orang telah melayarinya

Salam.

Codewars - Build a pile of Cubes

Saya menyiarkan cabaran Codewars dan proses pemikiran saya dalam siri ini. Saya menggunakan JS dan Node 18 apabila boleh. Hanya demi kejelasan, saya menggunakan mereka secara adil.

Yang seterusnya adalah sukar bagi kami, orang yang bergelut dengan matematik. Ia satu cabaran yang bagus walaupun. Pada asasnya, ia bermuara kepada memikirkan jumlah kiub "n". Kemudian ada ilmu hitam (a.k.a: algebra) et voilà! Selesai.

Jumlah kiub dijelaskan dengan bukti.

Penyelesaian penuh:

function findNb(m) {

  // sum of n cubes = ( n^2 * (n+1)^2 ) / 4

  let number = m * 4;
  number = number ** (1/2);
  let numberAux = number ** (1/2);
  let floor = Math.floor(numberAux);
  let ceiling = (Number.isInteger(numberAux)) ? floor + 1 : Math.ceil(numberAux);
  if ( floor * ceiling == number ){
    return floor;
  }
  return (-1);
}
Salin selepas log masuk

Mengapa kita mengira lantai dan siling? Kerana jika hujah m memang mewakili jumlah kiub "n", maka numberAux ialah SEBAHAGIAN nombor yang kita cari. Kami hanya memerlukan bahagian integer. Yang mana "n". Dan ia juga lantai.

Jika 'm' tidak mewakili jumlah kubus, maka fungsi mengembalikan -1. Bukan masalah besar.

Ia berkesan. Saya tidak tahu sama ada saya-dalam-6-bulan akan memahami apa-apa sekalipun.

Jaga diri. Minum air ???.

Sebelumnya

Atas ialah kandungan terperinci Codewars - Bina timbunan Kiub. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan