Делители циклы html academy

Часть 1: Селекторы. Погружение

Рассмотрим продвинутые селекторы, такие как :nth-last-of-type или :only-child. Также научимся использовать псевдоэлементы, такие как ::before и ::after.

Практикум

Профессии

  • HTML и CSS.
    Профессиональная вёрстка сайтов
  • HTML и CSS.
    Адаптивная вёрстка и автоматизация
  • JavaScript.
    Профессиональная разработка веб-интерфейсов
  • JavaScript.
    Архитектура клиентских приложений
  • React.
    Разработка сложных клиентских приложений
  • Node.js.
    Профессиональная разработка REST API
  • Node.js и Nest.js.
    Микросервисная архитектура
  • TypeScript. Теория типов
  • Алгоритмы и структуры данных
  • Паттерны проектирования
  • Webpack
  • Vue.js 3. Разработка клиентских приложений
  • Git и GitHub
  • Анимация для фронтендеров

Информация

Услуги

Остальное

Вход

Регистрация

Нажимая кнопку «Зарегистрироваться», вы даёте своё согласие на обработку персональных данных в соответствии с «Политикой конфиденциальности» и соглашаетесь с «Условиями оказания услуг».

Восстановление доступа

Забыли пароль или потеряли доступ к профилю? Введите привязанную к профилю эл. почту, мы отправим вам письмо со ссылкой для восстановления.

Забыли привязать эл. почту к профилю? Напишите нам, мы поможем.

Источник

Как реализовать фукнцию, которая считает количество делителей положительного числа?

Как реализовать фукнцию, которая считает количество делителей положительного числа?
Второй тест проходит, остальные нет.

const dividerCounter = (n) => < let res = n / 2; let count = 1; for (let i = 0; i return count; > >

4 —> 3 (1, 2, 4)
5 —> 2 (1, 5)
12 —> 6 (1, 2, 3, 4, 6, 12)
30 —> 8 (1, 2, 3, 5, 6, 10, 15, 30)

Rsa97

const dividerCounter = (n) => < let count = 0; for (let i = 1; i > return count; >

ProgrammerForever

Не знаю, с чего начать.
let i = 0
Будет делиться на 0 в первой итерации
count = 1
Почему 1? Какой делитель уже посчитан? Должно быть 0.
let res = n / 2;
Это тут — для мебели?
return count;
не на том месте, вызовется на первой итерации, а не в конце цикла

Alexandroppolus

перебирать по одному — долго. Можно находить простые делители, выяснять их максимальную степень в составе числа, и делить число на найденное простое в этой степени. Делители числа могут состоять только из тех же простых, но в степенях не более, чем эти простые в составе числа.

например, число 60 = 2^2 * 3 * 5.
Здесь в составе числа есть простые числа 2, 3 и 5. В делителях числа 60 двойка может быть в степенях 0,1,2, то есть всего 3 варианта. Тройка и пятерка — только в степенях 0 и 1, то есть по 2 варианта. И мы просто перемножаем количества вариантов. 3 * 2 * 2 = 12, то есть всего 12 различных делителей у числа 60

const dividerCounter = (n) => < let num = n; let count = 1; for (let i = 2; i count = count * (pow + 1); num = num / ipow; // теперь в составе num нет простого числа i > > return count; >

эта оптимизация, конечно, не будет работать, если в dividerCounter передать простое число — там придется честно по одному дойти до этого числа. Но таких чисел относительно мало.

Читайте также:  Java сортировка файлов слиянием

Источник

Интерактивные онлайн-курсы HTML Academy

Научитесь создавать и программировать современные веб-интерфейсы, начните карьеру в IT, оттачивайте своё мастерство.

Подробнейшие тренажёры
по HTML, CSS и JavaScript

Мы выбрали одно направление — фронтенд — и сделали самые подробные тренажёры о веб-технологиях. Одну тысячу пятьсот заданий в среднем проходят за три месяца.

8 частей тренажёров — бесплатно

Сто тридцать интерактивных заданий — бесплатные. После их прохождения вы сможете создать свой сайт.

Обучение на практике

С самого начала мы учим работать с живым кодом и самостоятельно решать задачи, приближённые к реальным. Также вас ждут испытания, принцип которых — «сверстай, как показано в образце».

От новичка до профессионала

Разобравшись с тренажёрами вы сможете принять участие в профессиональных курсах. Это профессиональные программы, где под руководством личного наставника вы научитесь создавать современные сайты и веб-приложения по критериям качества, принятым в веб-индустрии.

Учиться весело

Интересные, наглядные и затягивающие курсы, интерактивные интерфейсы, достижения — всё для обучения с удовольствием. И конечно же, Инструктор Кекс. Заскучать не получится.

1 507 Заданий и испытаний

1 291 946 Пользователей

103 762 250 Заданий выполнено

Всё начинается с сущей шалости. «Я только попробую», — говоришь ты. А утром обнаруживаешь себя за компьютером и не можешь ответить, как долго просидел за ним, проходя онлайн‑курсы один за другим. Именно в этот момент всё выходит из-под контроля: базовый интенсив, продвинутый, JavaScript. И вот ты уже меняешь свою работу, жизнь и мечтаешь теперь об одном: стать ниндзя веб-разработки, в арсенале которого HTML, CSS, SVG и JavaScript. Ребятам из HTML Academy удалось невозможное: увлечь за собой многих «скучающих и сомневающихся» и занять их сложным, современным и очень классным делом. Ирина Смирнова, фронтенд-разработчик в Bookmate

Обучаясь в Академии, вы сэкономите огромное количество времени и научитесь правильно писать код, работать с реальными проектами и очень легко сможете продолжить свою карьеру фронтенд-разработчика самостоятельно. А также работа с наставником даёт большой опыт работы с кодом, потому что он всегда готов помочь в трудную минуту. Богдан Васкан, веб-разработчик в Synergic Software

Курсы Академии мне порекомендовали. Всегда скептически относился к вебинарам, но обучение в Академии изменило это представление. Учиться действительно интересно, занимательно, и, самое главное, не скучно. Интенсив Академии просто «вбивает» в голову нужные и современные навыки и знания, которые пригодятся вам в любимом деле. Павел Цыганов, преподаватель

Для меня знакомство с миром вёрстки началось с книжек и скринкастов на YouTube. Это было интересно, но непросто. И вызывало больше вопросов, чем ответов. В процессе появилось понимание, что без структуры и обратной связи от опытных практиков обучение может растянуться до бесконечности. В какой-то момент я наткнулся на сайт Академии. Это было что-то принципиально новое, интересное и увлекательное. Я стал проходить курсы по HTML и CSS. Это напоминало увлекательную игру, в которой хочется пройти на новый уровень. Сразу вспомнилась моя любимая игра World of Warcraft. Выполнил задание — получил достижение. В какой-то момент захотелось большего, и естественным продолжением стал интенсив. Месяц бессонных ночей, взорванный мозг, и вот, я смотрю на мой первый сайт. Потом на второй. И этот загадочный мир вёрстки начинает становиться понятным и уже родным. Для меня Академия стала прекрасным стартом, и я уверен, что будет отличным продолжением! Сергей Фоменко, ученик Академии

Если бы в школьную программу добавили обучение по таким интерактивным курсам, думаю, дети быстрей поняли, что им нравится, и лучше усваивали. Регулярно захожу на сайт, чтобы отдохнуть и вдобавок вспомнить, что давно не использовал в вёрстке. Советую всем тем, кто хочет держать себя в тонусе, и тем, кто учится. Поверьте такой подход обучения покажет свой результат, а если вы добавите ещё видео и книги, то пойдёт как по маслу. Поехали! Владислав Ридвановский, младший фронтенд-разработчик

HTML Academy — это новый уровень в онлайн-обучении. Я даже представить не мог, что такой уровень подачи материала может быть в онлайн. Академия учит тебя думать как профессионал, делать как профессионал. Плюс ко всему Академия — это семья и сообщество в одном лице, где каждый найдёт себе собеседника, ответ на волнующий его вопрос. Ни разу не пожалел, что год тому назад решил попробовать их курсы! Дмитрий Руднев, фронтенд-разработчик в Greensight

Обучение в HTML Academy позволяет быстро погрузиться и качественно прокачаться в сфере фронтенда. Круто стать частью огромного волшебного мира и так скоро уже оказаться одним из лучших среди новых коллег. Артемий Альтигин, системный администратор

Источник

Читайте также:  Static method python зачем нужны

Как находить наименьший делитель в итеративном процессе рекурсии?

Прохожу курс основ программирования на Хекслете.
В задачке по итеративному процессу, где надо найти наименьший делитель заданного числа случился хардстак. Вот мой код:

const smallestDivisor = (num) => < const iter = (counter, acc) => < if (counter === 1) < return 1; >if (counter % acc) < return acc; >return iter(counter, acc + 1); >; return iter(num, 4); >;

Пытаюсь найти наименьший делитель для числа 4, который является 2кой.
Спойлерить решение от Хекслета не хочу, хочу понять как решать.

Простой 1 комментарий

RAX7

Читайте задание внимательнее.
Попробуйте в голове разложить алгоритм простыми словами.

1. Передаем в функцию число num (например, 9)
2. Создаем переменную acc с начальным значением 2 (1 нам не нужно)
3. Делим num на acc.
4. Делиться без остатка? (9 % 2) Это наименьший делитель, возвращаем его.
5. Не делиться? Добавляем к acc +1 и пробуем еще раз.
6. Дошли до acc = num? Возвращаем num.

Соответственно, с пункта 2 по 6 — это рекурсия, которая работает с acc.

funnyDevGirl

Приветствую!
Тоже принялась за решение этой задачки, сделала (вроде бы) все по Вашему алгоритму, но тесты запинаются на num = 3. Прошу Вас подсказать, что в моем коде не верно / чего не хватает? Вроде уже все возможные условия указала, но все равно не годится решение =(
Напомню: необходимо найти наименьший делитель:

const smallestDivisor = (num) => if (num === 1) return num;
>

const iter = (num, del) => if (num % del === 0) return del;
>
else if (num % del !== 0) return iter(num, del + 1);
>
else if (del = num) return num;
>
>
>;

funnyDevGirl

Это интерпретация 6 пункта Вашего алгоритма) Так, убрала условие (если конечно я верно поняла то, на что Вы мне указали =)), но все равно та же ошибка (запинка на 3):
Expected: 3
Received: undefined

Читайте также:  Примеры обработки форм javascript

const smallestDivisor = (num) => if (num === 1) return num;
>
let del = 2;

const iter = (num, del) => if (num % del === 0) return del;
>
else if (num % del !== 0) return iter(num, del + 1);
>
return num;
>
>;

P.S. Ломаю над этой задачей голову третий день, сегодня отчаявшись, решила попросить помощи у знатоков =(

нет, вы не поняли ) у вас в этой строчке написано не сравнение num и del, а присваивание.

const smallestDivisor = (num) => < // Создаем функцию для рекурсии внутри нашей основной функции const iter = (num, acc) => < // Проверяем - делится ли без остатка наше исходное число на наш acc if (num % acc === 0) return acc // Если не делится - вызываем сами себя, но с acc, увеличенным на 1 // В итоге мы или найдем делитель, или дойдем до состояния, когда num = acc return iter(num, acc + 1) >// Запускаем нашу итеративную функцию с исходным num и двойкой в качестве acc return iter(num, 2) >

Источник

Оцените статью