Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function lastKNumbersSequence(n, k) {
- let arr = [1];
- // създава се масив, в който ще се събират стойностите от изчисленията
- for (let i = 1; i < n; i++) {
- // цикъл за въртене през стойностите на поредицата от n брой числа
- // започва от 1 до достигане броя числа по условие n
- let start = Math.max(0, i - k);
- // проверяваме дали началната стойност не е отрицателна
- // i - k представлява БРОЯ числа, предхождащи текущото, които ще сумираме
- let end = i - 1;
- // изчисляваме крайния индекс на предходните k на брой елементи,
- // които ще сумираме, като i е номера на текущото завъртане на цикъла
- let sum = 0;
- for (let j = start; j <= end; j++) {
- //създава се цикъл за предходните k на брой елементи
- // j представлява текущия индекс от тези елементи
- sum += arr[j];
- //Добавя се стойността на j-тия поред елемент от цикъла в променливата sum
- }
- arr[i] = sum;
- // присвоява се стойността на sum
- // към текущия i-ти елемент от arr масива
- //
- }
- console.log(arr.join(' '));
- }
- WITHOUT EXPLANATIONS
- function lastKNumbersSequence(n, k) {
- let seq = [1];
- for (let current = 1; current < n; current++) {
- let start = Math.max(0, current - k);
- let end = current - 1;
- let sum = 0;
- for (let i = start; i <= end; i++) {
- sum += seq[i];
- }
- seq[current] = sum;
- }
- console.log(seq.join(' '));
- }
Advertisement
Add Comment
Please, Sign In to add comment