Maison >interface Web >js tutoriel >Codewars - Série pour débutants #um de nombres

Codewars - Série pour débutants #um de nombres

Patricia Arquette
Patricia Arquetteoriginal
2025-01-05 02:25:37987parcourir

Salutations.

Codewars - Beginner Series #um of Numbers

Je publie les défis Codewars et mon processus de réflexion dans cette série. J'utilise JS et Node 18 autant que possible. Par souci de clarté, j'en fais un usage équitable.

Donc, la prochaine étape de cette série est la Somme des Nombres. Dans ce problème spécifique, il s'agit plus de mathématiques que de codage. Vous voyez, vous devez calculer une superficie. Dans ce graphique, par exemple, nous affichons toutes les valeurs comprises entre -5 et 4 :

Codewars - Beginner Series #um of Numbers

Vous pouvez utiliser l'intégration si vous le souhaitez, mais il existe un itinéraire plus simple. Puisque nous avons affaire à des fonctions linéaires, nous pouvons rechercher la médiane et multiplier par l'étendue :

sum=m edianran gesomme = médiane * plagesum=médiane∗plage

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

sum= b2a2 b a2somme = frac{b^2 - a^2 b a}{2}sum= 2b2a 2 b a

Il nous suffit donc d'insérer cette équation dans le code. Ça commence comme ça :

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

On le teste et :

Codewars - Beginner Series #um of Numbers

Mais pourquoi ? Je sais que l'équation est correctement simplifiée, alors... Oh. C'est ça le problème :

getSum(a, b)

(a,b) exactement dans cet ordre. Cela fonctionne si l'entrée est (-5,4), mais pas si c'est (4,-5). Réparer? Vous pouvez coder une instruction « if » pour les deux situations. Mais je ne le ferai pas comme ça. Je vais faire ça :

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

Et donc, on a tout mis en place :

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;
}

Plutôt correct, facile à lire.

Cya. Boire de l'eau ???.

Précédent

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn