C'est mon problème, j'ai du mal à faire quoi faire pour résoudre ce problème
La tâche: nous vous transmettrons un tableau de deux chiffres.
Renvoyer la somme de ces deux chiffres plus le
somme de tous les chiffres entre eux. Le nombre le plus bas ne viendra pas toujours en premier. P> function sumAll(arr) {
Math.min(arr); //finds the lowest number and takes it 1
Math.max(arr); //finds the largest number 4
//must start at the 1st number and loops over until the max value is reached
//0 start at the 0th index of the array
//++ increament by one so 1 2 3 4
//multiply's each number
//.lenght until the lenght of the array is reached
var i;
for (i = 0; i < arr.length; i++) {
i * i;
}
return 1;
}
sumAll([1, 4]);
6 Réponses :
Vous pouvez simplement trouver le numéro inférieur avant d'exécuter la boucle pour obtenir la somme de tous les numéros entre INBETWeen.
Vous pouvez simplement ajouter la condition: p>
Il suffit de trier le tableau et d'exécuter la boucle pour ajouter le numéro, à partir du premier élément se terminant au deuxième élément
p>
function findSum(arr){ let sortedArr = arr.slice().sort((a,b) => a-b); let total =0; for(let i=arr[0];i<=arr[1];i++){ total+=i; } console.log(total); } findSum([1,4])
Est-ce que la personne, qui a bownvoted solution, spécifie la raison aussi? Il est essentiel de comprendre la question. Les bowvotes inutiles sont découragés!
Si cela va être toujours 2 numéros dans un tableau, vous pouvez facilement le faire et plus de code fantaisie.
var arr = [1, 4]; arr.sort((a, b) => a - b); var total = 0; for (var i = arr[0]; i <= arr[1]; i++ ) { total += i; } console.log(total);
Il n'est pas nécessaire que le premier indice serait le plus bas, c'est la principale question.
Je vois, je n'ai pas notice que, alors il peut simplement trier le premier. Réponse mise à jour.
var points = [40, 100, 1, 5, 25, 10]; points.sort(function(a, b){return a-b}); points[0]; // this is min value of the array values You can check this link on w3schools
Vous pouvez le faire un certain nombre de manières, dans ce cas, j'utilise une boucle tandis que.
p>
function sumAll(arr) { // Get the min/max values from the array, // Note: you have to spread the array values as individual args using '...' notation const min = Math.min(...arr); const max = Math.max(...arr); // Start at the min value let current = min; let sum = 0; // Loop through all numbers between min and max inclusively while (current <= max) { sum += current; current++; } return sum; }; console.log(sumAll([1, 4]));
Vous pouvez saisir le plus grand numéro de votre réseau d'entrées à l'aide de Une fois que vous avez le plus grand et le plus petit nombre, vous pouvez trouver la somme entre (et y compris) ces deux numéros. Cela peut être fait en utilisant une boucle. Cependant, une manière plus efficace serait d'utiliser une formule pour la calculer pour vous. Si vous appelez le plus petit nombre comme vous pouvez Voir ci-dessus comme vous pouvez le voir Comme nous souhaitons trouver ce que Donc, nous pouvons utiliser l'équation ci-dessus pour trouver la somme des nombres entre deux numéros à l'aide des deux p> math.max code> et le plus petit numéro de la matrice en utilisant
math.min code>, vous avez juste besoin de
a code> et le plus grand nombre
b code>, vous souhaitez rechercher: p>
res2 code> et
res code> est égal. Nous pouvons donc dire
res2 = res code>. Donc, si nous exécutons
res + res2 code>, nous obtiendrons
2 * res code>. Si nous ajoutons les deux ensemble (en ajoutant par les colonnes), nous obtenons: p>
2 * res code> Résultats dans
A + B CODE> Être répété pour chaque numéro de l'équation d'origine, qui est
BA + 1 code> fois. Ainsi: p>
res code> est, nous pouvons diviser les deux côtés par
2 code> pour obtenir: p>
A code> et
B code>, où
a code> est le nombre plus petit et
b code> est le plus grand numéro. p>
math.max () code>, math.min () code> et l'équation ci-dessus, nous pouvons le faire en utilisant les éléments suivants: p>
const sumRange = (a, b) => ((b - a + 1)*(a + b))/2;
function sumAll(arr) {
const smaller = Math.min(...arr);
const bigger = Math.max(...arr);
return sumRange(smaller, bigger);
}
console.log(sumAll([4, 1]));
Est-ce que ça va être toujours 2 chiffres dans un tableau?
Tout le monde utilise des boucles lorsque cela peut être fait O (1) ...
Somme de fonction (Art) {const Start = arr [0], fin = arr [1]; retour (fin - Démarrage + 1) * (Démarrer + fin) / 2; } code>
@ D.Pardal Ajouter une réponse, mais assurez-vous de trier d'abord
@segfault J'étais sur le point de le faire, mais la question a été fermée ...