Rumah >hujung hadapan web >tutorial js >Codewars - Siri Pemula #um Nombor

Codewars - Siri Pemula #um Nombor

Patricia Arquette
Patricia Arquetteasal
2025-01-05 02:25:37929semak imbas

Salam.

Codewars - Beginner Series #um of Numbers

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.

Jadi, seterusnya dalam siri ini ialah Jumlah Nombor. Dalam masalah khusus ini, ia lebih kepada matematik daripada pengekodan. Lihat, anda perlu mengira kawasan. Dalam graf ini, sebagai contoh, kami menunjukkan semua nilai antara -5 dan 4:

Codewars - Beginner Series #um of Numbers

Anda boleh menggunakan penyepaduan jika anda mahu, tetapi terdapat laluan yang lebih mudah. Memandangkan kita berurusan dengan fungsi linear, kita boleh mencari median dan mendarab untuk julat:

sum=m edianran gejumlah = median * julatjumlah=median∗julat

sum=b b a2(ba 1)jumlah = b - frac{b-a}{2} * (b - a 1)sum=b−2b−a(b−a 1)

sum= b2a2 b a2jumlah = pecahan{b^2 - a^2 b a}{2}jumlah= 2b2a 2 b a

Jadi kita hanya perlu memasukkan persamaan itu dalam kod. Ia bermula seperti ini:

function getSum(a, b)
{
   //Good luck!
}
function getSum(a, b)
{
   let sum = (b ** 2 - a ** 2 + b + a ) / 2 ;
   return sum;
}

Kami mengujinya dan:

Codewars - Beginner Series #um of Numbers

Tetapi kenapa? Saya tahu persamaan itu dipermudahkan dengan betul, jadi... Oh. Inilah masalahnya:

getSum(a, b)

(a,b) dalam susunan itu. Ia berfungsi jika input ialah (-5,4), tetapi tidak jika ia (4,-5). Betulkan? Anda boleh mengodkan pernyataan "jika" untuk kedua-dua situasi. Saya tidak akan melakukannya seperti itu. Saya akan lakukan ini:

if (a > b){
    let c = a;
    a = b;
    b = c;
  }

Jadi, kami mengumpulkan segala-galanya:

function getSum(a, b)
{
  if (a > b){
    let c = a;
    a = b;
    b = c;
  }
  let sum = (b ** 2 - a ** 2 + b + a ) / 2 ;
  return sum;
}

Agak bagus, mudah dibaca.

Cya. Minum air ???.

Sebelumnya

Atas ialah kandungan terperinci Codewars - Siri Pemula #um Nombor. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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