Estoy tratando de hacer una función que calcule la suma de las probabilidades en un número entero N.
Por ejemplo, si N = 5 => 1+3+5 = 9
Aquí está mi intento:
const n = 4 let arr = [] let i = 0 while (i < n) { i++ arr.push(i) } console.log(arr)Este código devuelve una matriz con todos los números enteros en N, está bien.
Ahora me gustaría filtrar las probabilidades y luego hacer la suma. Intenté diferentes cosas sin éxito.
Gracias por tu tiempo !
const calculateSum = (n) => { let sum = 0; // Start from 1 and increment by 2 (1, 3, 5, 7, 9, 11, etc) for(let i = 1; i <= n; i+=2) { sum += i; } return sum; }Sugeriría usar Array.reduce() para obtener el resultado deseado. Generamos todos los números enteros del 1 al N usando Array.from() , luego usamos .reduce() para agregar cualquier número impar al valor de la suma (acumulador).
function getSumOfOddNumbers(n) { return Array.from({length: n}, (v,k) => k + 1).reduce((sum, cur) => (cur % 2) ? sum + cur: sum, 0); } for(let n = 1; n < 10; n += 2) { console.log(`Odd number sum from 1 to ${n}:`, getSumOfOddNumbers(n)); } .as-console-wrapper { max-height: 100% !important; top: 0; }