Rumah >hujung hadapan web >tutorial js >Codewars - Siri Pemula #um Nombor
Salam.
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:
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:
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:
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!