Задача про хакатон и неразбериху с местами
easy

Задача про хакатон и неразбериху с местами

То густо, то пусто

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

Сколько всего людей пришло на хакатон?

Обозначим количество участников хакатона за x. Если на каждый пуфик сели по 4 человека и ещё четверо остались стоять, получается, что на пуфиках было x − 4 человека, а всего пуфиков было (x − 4) / 4.

С другой стороны, если после разворота пуфиков на каждый сели по 6 человек и 4 пуфика остались пустыми, получается, что всего пуфиков было (x/6 + 4).

Так как количество пуфиков неизменно, то мы можем приравнять обе формулы друг к другу:

(x/6 + 4) = (x − 4)/4

Решаем уравнение — умножим сначала обе части на 4, чтобы избавиться от деления:

4(x/6 + 4) = x − 4

2x/3 + 16 = x − 4

x − ⅔x = 16 + 4

⅓x = 20 → x = 20 × 3 = 60

Выходит, что на хакатон пришло 60 человек.

Сила компьютера в том, что он может быстро перебрать много вариантов решения и сразу найти нужный ответ. Всё, что нам нужно сделать, — объяснить в коде, как это сделать. 

Напишем на JavaScript простой скрипт, который переберёт разное количество участников хакатона и по очереди проверит, подходит ли это число как решение или нет. Если подходит — выводим, если нет, то переходим к следующему. Проверку решения возьмём как в математическом решении — сравним обе части уравнения, и если значение совпадает, то это и есть верный ответ.

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

// перебираем по очереди разное количество программистов на хакатоне
for (let x = 0; x <= 1000000; x++) {
    // если обе части условия равны
    if ((x / 6 + 4) == ((x - 4) / 4)) {
        // то это значит, что мы нашли решение, поэтому выводим его на экран
        console.log('В хакатоне участвовало ' + x + ' человек')
        // останавливаем цикл, если нашли решение
        break;
    }
}

Корректор:

Ира Михеева

Художник:

Алексей Сухов

Вёрстка:

Кирилл Климентьев

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Вам может быть интересно
easy
[anycomment]
Exit mobile version