Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 19.10.2018, 18:45
Новичок на форуме
Отправить личное сообщение для Задорожный Виталий Посмотреть профиль Найти все сообщения от Задорожный Виталий
 
Регистрация: 18.10.2018
Сообщений: 9

Да наверно мне еще рано такие задачи. Ничего я так и не понял. В моем понимании последовательность натуральных чисел это 0,1,2,3,4,5,6,7,8...
т.е. вводим количество 100, раскладываем в последовательность из них находим кратные 6 и их сумму. Причем здесь 300?
Или вводим 300 и так далее. Что такое введенные? Как связать количество элементов массива с элементами массива. в готовом скрипте? Пока писал начинаю вроде понимать. Элементы массива в сумме не должны превышать 300? Тогда все сходиться, а количество чисел и введенные мы вводим произвольно и непосредственно в программу. Так?
Ответить с цитированием
  #22 (permalink)  
Старый 19.10.2018, 18:54
Новичок на форуме
Отправить личное сообщение для Задорожный Виталий Посмотреть профиль Найти все сообщения от Задорожный Виталий
 
Регистрация: 18.10.2018
Сообщений: 9

Введенные числа в сумме не превышают 300? Тогда все сходится. В задаче не хватает слова в сумме!!! И я подумал что последовательность натуральных чисел это 1,2,3,4,5,6,7...... , а их можно произвольно. Так?
Ответить с цитированием
  #23 (permalink)  
Старый 20.10.2018, 09:40
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,723

Задорожный Виталий, как я понял из условия задачи: 100 - максимальный размер массива, а 300 - максимальное значение элемента массива.
Ответить с цитированием
  #24 (permalink)  
Старый 20.10.2018, 17:14
Новичок на форуме
Отправить личное сообщение для Задорожный Виталий Посмотреть профиль Найти все сообщения от Задорожный Виталий
 
Регистрация: 18.10.2018
Сообщений: 9

Доброго времени суток еще раз. В итоге трех дней головоломок, с Вашей помощью решил вот так:
var summ = 0;
var arr = new Array ();
for ( var i=1; i<101; i++){
    arr[i] = i*3; 
if (arr[i] % 6) continue; 
    summ += arr[i];
    }
    document.write (summ + "</br>");

Пишу на чистом js тк библиотек пока не знаю. Может что то не так проверите пож-та.
Программа получает числа до 100 в цикле, мы можем изменять количество чисел. Введенные числа ограничиваем до 300 умножением на 3 и так получаем кратные 6. Дальше суммируем получившийся массив. Как Вам?
Ответить с цитированием
  #25 (permalink)  
Старый 20.10.2018, 22:22
Аватар для MC-XOBAHCK
Профессор
Отправить личное сообщение для MC-XOBAHCK Посмотреть профиль Найти все сообщения от MC-XOBAHCK
 
Регистрация: 06.08.2017
Сообщений: 473

Сообщение от Nexus
как я понял из условия задачи: 100 - максимальный размер массива, а 300 - максимальное значение элемента массива.
я понял только то, что условие задачи не корректно. Тот кто её задал - идиЁт.
Главная задача в этой задаче понять чего имел в виду тот идиёт когда фразировал свой тренинг.
Ответить с цитированием
  #26 (permalink)  
Старый 20.10.2018, 23:18
Новичок на форуме
Отправить личное сообщение для Задорожный Виталий Посмотреть профиль Найти все сообщения от Задорожный Виталий
 
Регистрация: 18.10.2018
Сообщений: 9

Понял спасибо. Пойду как есть. Через неделю выложу его решение. Всем большое спасибо.
Ответить с цитированием
  #27 (permalink)  
Старый 20.10.2018, 23:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от MC-XOBAHCK
условие задачи не корректно
почему?
Ответить с цитированием
  #28 (permalink)  
Старый 21.10.2018, 02:02
Аватар для MC-XOBAHCK
Профессор
Отправить личное сообщение для MC-XOBAHCK Посмотреть профиль Найти все сообщения от MC-XOBAHCK
 
Регистрация: 06.08.2017
Сообщений: 473

Сообщение от рони
почему?
Нужно обучать код писать, а не фразеологические ребусы разгадывать.

Вот решение:
function summa6(n, arr) {
    if (arr.length <= 100) {
        let arr6 = arr.filter(item => !(item % 6) && item <= 300);
        arr6.length = n;
    
        return arr6.reduce((sum, item) => sum + item);
    }
}
console.log(summa6(10, [1, 2, 3, 4, 5, 6, 7, 12, 24, 54, 300, 350, 1014]));


Интересно, прокатит или по условию нужно ещё проверять массив на кратность?
Я понимаю так, что у того лектора в массиве уже имеется число кратное 6.
Цитата:
В последовательности всегда имеется число кратное 6.
Или всё таки не имеется, а должно быть кратное 6?
Если не имеется, то разбить ему лицо и в код добавить проверку чтоб в массиве было кратное 6.
Ответить с цитированием
  #29 (permalink)  
Старый 21.10.2018, 07:42
Новичок на форуме
Отправить личное сообщение для Задорожный Виталий Посмотреть профиль Найти все сообщения от Задорожный Виталий
 
Регистрация: 18.10.2018
Сообщений: 9

Интересный код. Я его понял так - Объявляем функцию и глобальные переменные(включая массив), в функции длина массива меньше либо равно 100. Далее внутри условия локальная переменная сортирует числа кратные 6 и меньше либо равно 300. Присваиваем локальную переменную к глобальной. Завершаем функцию и суммируем перебор. За функцией выводим результат. ГЕНИАЛЬНО!!! Много нового узнал! Один вопрос по последней строчке кода. Откуда цифра 10. В квадратных понятно - это массив и я так понял произвольно набранный.
Огромное спасибо!
Ответить с цитированием
  #30 (permalink)  
Старый 21.10.2018, 10:50
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,723

Сообщение от Задорожный Виталий
Один вопрос по последней строчке кода. Откуда цифра 10.
Это нужная длинна массива.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как разрешить ввод только цифр и минуса в начале? xecic jQuery 6 20.08.2018 18:27
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 13:29
Управление скроллом "а-ля тач" HonesT Элементы интерфейса 2 27.08.2013 14:25
Подскажите пожалуйста как сделать задание Альбиночка Общие вопросы Javascript 1 28.11.2011 18:47