Ответы пользователя по тегу Алгоритмы
  • Каков тут алгоритм?

    delphinpro
    @delphinpro
    frontend developer
    Двоичная записьДвоичная, с нулямиДесятичная
    110113
    10011
    1001004

    3 + 1 = 4
    Ответ написан
    Комментировать
  • Как упростить сравнение 4 чисел с помощью if?

    delphinpro
    @delphinpro
    frontend developer
    $Maccив = ПолучитьМассивЧисел()
    ОтсортироватьМассив($Массив)
    $Врем = 0
    Цикл $Число Из $Массив
      Если $Число == $Врем То 
        Принт("Есть совпадение")
        ОстановитьЦикл
        ВыйтиИзПодпрограммы
      Иначе
        $Врем = $Число
    Ответ написан
    5 комментариев
  • Как поменять порядок цифр в многозначом числе?

    delphinpro
    @delphinpro
    frontend developer
    Бегаем циклом по числу, деля его на 10 на каждой итерации, пока число не уменьшится до нуля.
    Таким образом пробежим по всем разрядам, начиная с младшего.
    Разряд (степень десятки) будем сохранять отдельно для четных и нечетных чисел.
    Также по отдельности будем суммировать четные и нечетные разряды.
    На каждой итерации получаем значение разряда (это остаток от деления на 10)
    Если цифра нечетная, умножаем на текущую степень и суммируем с нечетными числами, иначе то же самое с четными.
    По окончанию цикла у нас будет зафиксирована разрядность получившегося нечетного числа (нечетное число у нас по условию будет в младших разрядах результат). Умножаем четное число на десятку в этой степени и суммируем с нечетным числом.
    Профит!

    Наверное не очень понятно объясняю. Покажу реализацию на javascript:

    код
    let number = 12345;
    let resultEven = 0;
    let resultOdd = 0;
    let nEven = 0; // разрядность числа (нечетные числа)
    let nOdd = 0; // разрядность числа (четные числа)
    
    while (number > 0) {
      let digit = number % 10;
      if (digit % 2 !== 0) {
        resultEven += digit * Math.pow(10, nEven++);
      } else {
        resultOdd += digit * Math.pow(10, nOdd++);
      }
      number = Math.floor(number / 10);
    }
    
    let result = resultEven + resultOdd * Math.pow(10, nEven);
    Ответ написан
    Комментировать
  • Как работают динамические фильтры в интернет-магазинах?

    delphinpro
    @delphinpro
    frontend developer
    Делаете таблицу в параметрами, при запросе делаете выборку по параметрам из этой таблицы.
    Возвращать удобнее голые данные в json (заодно и общее количество присылать) и рендерить на клиенте.
    Урл меняется методами History API

    С точки зрения фронта всё довольно просто — послали запрос, получили данные, перерисовали страницу.
    На бэке приняли запрос, сходили в БД, составили json-ответ, отдали клиенту.
    Ответ написан
  • Как складывать буквы?

    delphinpro
    @delphinpro
    frontend developer
    Изучите тему "системы счисления". Потом "арифметические операции в различных системах счисления". А дальше все будет понятно.
    вот, например, book.kbsu.ru/theory/chapter4/1_4_10.html по операциям.
    (в вашем случае будет 62-ричная система счисления.)
    Ответ написан
    1 комментарий