- 7:45 утра пытается провести учебу рано утром, а некоторые днем. Чтобы я стал тем, кем я хочу быть, мне нужно продолжать не сдаваться, независимо от того, как усердно.
- В любом случае двигаться дальше. Сегодня сегодня мы выясняем, как вернуть сумму всех нечетных чисел Фибоначчи, которые меньше или равны
численность
. По сути, это только каждое дополнительное число в последовательности — это сумма предыдущих чисел. Пример: первые два числа в последовательности Фибоначчи начинаются с 1 и 1. После того, как за ним следует 2, 3, 5, 8 и т. Д.
Например,
Сумма (10)
должен вернуться10
Потому что все нечетные числа фибоначчи меньше или равны10
1, 1, 3 и 5.
function sum(num) { return num; } sum(4); // this should return 5 because all odd Fibonacci numbers less than or equal to `4` are 1, 1, 3
- Отвечать:
function sum(num) { let sequence = [0, 1] let count = sequence[sequence.length - 2] + sequence[sequence.length - 1]; while (count <= num) { sequence.push(count); count = sequence[sequence.length - 2] + sequence[sequence.length - 1]; } let sumOfAllOdds = 0 sequence.forEach(function(num) { if (num % 2 != 0) { sumOfAllOdds += num; } }); return sumOfAllOdds; } console.log(sum(4)); // want to return 5 because that's the sum of all odd Fibonacci numbers [ 1, 1, 3];
Хорошо на следующем! На этот раз они хотят, чтобы мы проверили возвращение суммы всех основных чисел, которые меньше или равны NUM.
- Если вы не знаете, что такое основное число, в основном это на целое число больше, чем 1 с двумя делителями: 1 и сама. Например, 2 является основным числом, потому что оно делится только на 1 и 2. В то время как что -то вроде 4 не потому, что это делится на 1, 2 и 4.
- Теперь давайте переписать
SumofallPrimes
Таким образом, он возвращает сумму всех основных чисел, которые меньше или равны NUM.
function sumOfAllPrimes(num) { return num; } sumOfAll(10);
- Отвечать:
function sumOfAllPrimes(num) { function isPrime(num) { for (let x = 2; x < num; x++) { if (num % x === 0) { return false; } } return true; } let range = [] for (let i = 2; i <= num; i++) { if (isPrime(i)) { range.push(i) } } return range.reduce((a, b) => a + b) } console.log(sumOfAllPrimes(10)); // will display 17 because 2 + 5 + 10 = 17 // Recommended (reduce with default value) // Array.prototype.reduce can be used to iterate through the array, adding the current element value to the sum of the previous element values. // console.log( // [1, 2, 3, 4].reduce((a, b) => a + b, 0) // ) // console.log( // [].reduce((a, b) => a + b, 0) // ) // a prime number can only return false - your code --> "if num % x ===0 { return false}" if it % 1 OR ITSELF. But you put x start from 2, so it won't check 1. then u put "x < num" so it won't check itself
Оригинал: «https://dev.to/rthefounding/algorithms-scripting-notes-and-examples-part-4-29ln»