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

Codewars - Siri Pemula #um Nombor

Patricia Arquette
Lepaskan: 2025-01-05 02:25:37
asal
955 orang telah melayarinya

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!
}
Salin selepas log masuk
function getSum(a, b)
{
   let sum = (b ** 2 - a ** 2 + b + a ) / 2 ;
   return sum;
}
Salin selepas log masuk

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)
Salin selepas log masuk

(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;
  }
Salin selepas log masuk

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;
}
Salin selepas log masuk

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!

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