Задать вопрос
  • Существуют ли сайты, где возможно решать задачи по математике и получать деньги?

    Чтобы проверять правильность решения, это решение должно быть заранее известно. Так что вряд ли кто-то будет платить за известные решения.

    Есть конкурсы по машинному обучению. Там предоставляются не все имеющиеся данные, а большая часть, напр. 95%. Участники конкурса тренируют модели, которые затем проверяются на «секретных» оставшихся данных. Выигрывает та, что лучше других показала себя на закрытых данных. Но это не чисто математика, хотя и очень близко.

    Ещё можно работать репетитором и кого-нибудь натаскивать по математике (дистанционно).

    Впрочем, есть же конкурсы с призами. Вот вопрос 2014-го года.
    Ответ написан
    Комментировать
  • Как определить хороший и добросовестный отзыв от плохого?

    sergiks
    @sergiks Куратор тега Алгоритмы
    ♬♬
    От "Nnnnn" поможет проверка по словарю и длине отдельных слов выше критического порога.
    Но от случайного набора слов из словаря это никак не защитит.

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

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

    Ещё одна странная идея: просить самих авторов к их рассказу придумывать ещё и по несколько вопросов для быстрой проверки, прочёл ли вообще критик это произведение? Не в лоб "Главного героя зовут: Вася / Толя / Оля" и не что-то, что ищется в тексте поиском. А абстрактно: «Этот рассказ: сочитает иронию и описания / описывает любовный треугольник / является философским эссе»
    Ответ написан
    4 комментария
  • Выбрать числа из множеств, чтобы они не пересекались?

    sergiks
    @sergiks Куратор тега Алгоритмы
    ♬♬
    1. Выбираете 1-е число из полного диапазона.
    2. Выкидываете множество выпавшего числа.
    3. Выбираете 2-е число из оставшегося диапазона.


    Например:
    1. случайное из [0, 2346] оказалось 105 из диапазона "B"
    2. выкидываем диапазон B, остаётся [0, 1902], т.к. длина "B" 544-101+1 = 444, 2346 - 444 = 1902
    3. случайное из [0,1902] оказалось, например, 404. Для чисел выше 100 добавляем 444 и получаем 848 из диапазона "C" по старому стилю )
    Ответ написан
    Комментировать
  • Как генерировать числа с линейно заданной вероятностью?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Для начала простой случай, где вероятность линейна на всём диапазоне, один сегмент.
    Генератор случайных чисел даёт дробное от 0 до 1 с постоянной вероятностью.

    Теперь вспомните график параболы y = x^2 Там на шаге x от 0 до 1, y растет от 0 до 1, на шаге от 3 до 4 y растёт уже от 9 до 16, на 7. Взяв равномерно-случайную величину от 0 до 16, квадратный корень из неё неравномерно попадёт на диапазон от 0 до 4. Вероятнее на диапазон 3-4, чем на 0-1. И вероятность попадания в точку x будет прямо пропорциональна x.

    Это интуиция, которая, надеюсь, поможет вам понять и разработать решение для вашей задачи.
    Ответ написан
    Комментировать
  • Как рассчитать надежнось пароля?

    Число перестановок N элементов = N! (N-факториал)
    Ответ написан
    Комментировать
  • Как в Vuejs передать данные по событию?

    В конкретном случае, когда хочется изменять цвет элемента body, нет необходимости возиться с передачей данных между родительскими-дочерними компонентами во Vue, т.к. body снаружи даже корневого компонента.

    Достаточно прямо в обработчике клика менять цвет фона.

    Допустим, цвет блока передаётся в него через props, свойство "color". Можно просто определить обработку клика:
    v-on:click="document.body.style.backgroundСolor = color"


    Ответ написан
    Комментировать
  • Vuejs проблемы с реактивностью?

    метод mounted() срабатывает только один раз, когда компонент размещается.

    После добавления нового элемента mounted() не вызывается и таймер для добавленного не заводится.

    Незачем делать по индивидуальному таймеру для каждого элемента. Сделайте один таймер на весь компонент, по его срабатыванию обновляйте все элементы:
    Ответ написан
    3 комментария
  • Как разбить число на массив?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Так быстрее:
    var x = 358046274912;
    // Нужно получить ['358', '046', '274', '912']
      
      function chunk(s, len) {
        const arr = [];
        for (let i = 0; i < s.length; i+=len) 
          arr.push(s.substring(i, i + len));
        return arr;
      }
      
      chunk(x.toString(), 3) // ['358', '046', '274', '912']
    Ответ написан
    3 комментария
  • Как отсортировать массив, при этом сравнивать разные ключи?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    arr.sort((a,b) => 
      (a.hasOwnProperty("finishedDate") ? a.finishedDate : a.createdDate) 
      - 
      (b.hasOwnProperty("finishedDate") ? b.finishedDate : b.createdDate)
    )
    Ответ написан
    1 комментарий
  • Как декодировать такой текст?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Например, так:
    console.log('ошибка:ReferenceError: \u0441\u043F\u0438\u0441\u043E\u043A_\u0442\u043E\u0432\u0430\u0440\u043E\u0432 is not defined';) 
    // ошибка:ReferenceError: список_товаров is not defined
    Ответ написан
    Комментировать
  • Как в объекте выставить определенное свойство первым?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Отвечая на заголовок вопроса – никак. У объектов JavaScript отсутствует фиксированный порядок свойств.

    В вашем же случае формируется массив. Как я понимаю, записи со свойством pos: true должны идти в начале. Просто отсортируйте массив по этому признаку:
    arr.people.sort((a, b) => b.pos - a.pos)

    p.s. некруто называть объект словом arr – вводит в заблуждение, можно подумать, что arr это массив.
    Ответ написан
    1 комментарий
  • Фильтрация, вопрос на засыпку?

    sergiks
    @sergiks Куратор тега PHP
    ♬♬
    Разница двух вариантов касается ввода очень длинных значений и PHP_INT_MAX

    Если введут, например, '1234567890123456789012345678901234567890',
    то filter_var() вернет FALSE,
    в то время, как у intval() получится 9223372036854775807.
    Ответ написан
    Комментировать
  • Какой правильный ответ к загадке?

    Любимая заранее преподнесла вам свой замок без ключа.
    Более того, она раздаёт свои замки без ключей всем желающим - вдруг, пригодятся.

    Упаковываете колье, запираете замком любимой и отправляете.

    Никакой пересылки ключей, тройной пересылки содержимого, подмены замков.
    Ответ написан
    Комментировать
  • Почему regEx не работает в firefox?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    FireFox пока не поддерживает lookbehind: (?<= ) и (?<! ), которые введены в ECMA2018.
    Ответ написан
    Комментировать
  • Как составить словесный алгоритм данного задания?

    sergiks
    @sergiks Куратор тега Алгоритмы
    ♬♬
    Число цифр в числе получается округлением в большую сторону отношения натурального логарифма этого числа к натуральному логарифму от 10: ceil( ln(x) / ln(10)) Специальный случай "единица" – для нее логарифм даст 0, поэтому длину единицы в квадрате приплюсуем вручную )

    Можно завести счетчик длины последовательности и переменную для текущего числа. Начиная от 1 накапливать в счетчике суммарную длину последовательности, прибавляя число цифр в очередном квадрате.

    Когда последовательность наберёт как минимум данное K, текущее значение в квадрате содержит искомую цифру. Разность длины набранной последовательности и K определит, какую именно цифру этого квадрата взять.
    Ответ написан
    Комментировать
  • Как сделать эффект набираемого текста?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Этот скрипт берет только текст, оборачивает каждую букву в тег span и показывает по очереди.

    Простое решение: вызывайте этот скрипт для каждого параграфа по отдельности, вручную подобрав паузу между паракграфами, чтобы они "набирались" один после другого:
    $('#example p')[0].animate_Text(); // сразу 1-й абзац
    setTimeout(() => $('#example p')[1].animate_Text(), 1000); // через секунду 2-й абзац
    Ответ написан
  • Алгоритм выборки топ 10 фотографий?

    sergiks
    @sergiks Куратор тега Алгоритмы
    ♬♬
    Посмотрите алгоритмы сортировки. Например, методом пузырька придётся до 10 раз пройти по всему массиву, итого 199+198+197+...+189 = 2123 сравнений.

    Но т.к. интересует только верхушка, можно оптимизировать. Разбить фотогрфии на пары, сравнить попарно, отбросить проигравших. Так уменьшается вдвое число кандидатов. 200 -> 100 -> 50 -> 25 -> 13 за 100+50+12=162 сравнения. Оставшиеся 13 надо уже пузырьковым методом отсортировать до отбора топ-10: 12+11+10+...+3 = 75
    Итого всего 237 сравнений, если не ошибаюсь.

    В фильме «Социальная сеть» (2010) есть эпизод, где молодой Цукерберг якобы использовал алгоритм начисления шахматного рейтинга ELO в своём первом приложении FaseMash для сравнения, какая из девушек привлекательнее. Там тоже посетители выбирают одну из двух фотографий. Может ли это сократить число необходимых сравнений, вопрос открытый.
    Ответ написан
    4 комментария
  • Как синхронизировать store и back-end?

    Цели правильно понимаю?
    1. Ограничить частоту обращений к backend - не более N в M секунд
    2. Не потерять набранную корзину

    Первый пункт решается учетом времени последних N обращений.
    Второй - флагом "всё сохранено на бэкенде" – который ставится при изменении корзины и снимается после успешной синхронизации. При поднятом флаге не давайть так просто уходить со страницы через onBeforeUnload
    Ответ написан
    1 комментарий
  • Можно ли использовать setTimeout рекурсивно?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Перенесите следующий вызов в тело функции, которая выполнится через паузу:
    function scrollToStep(coord = 0, step = 20, pause = 1000) {
      if (coord > step) {
        setTimeout(function() {
    	    coord -= step;
          window.scrollBy(0, step);
    	    scrollToStep(coord, step, pause)
        }, pause);
      } else {
        return false;
      }
    }
    
    buttonChoice.addEventListener('click', function() {
      let catalog = document.querySelector('.catalog');
      scrollToStep(catalog.getBoundingClientRect().top);
    });
    Ответ написан
    3 комментария
  • Цикл while (Javascript) подвешивает страницу, в чем проблема?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Не надо циклов. У вас есть источник «правды» – исходная цена. Один раз её получите в переменную (а лучше константу). Далее у input'ов слушайте событие не клик, а "change". Один обработчик события на все элементы радио. Получил событие - обновил цену из константной исходной цены и кликнутого элемента.
    Ответ написан
    5 комментариев