-
Notifications
You must be signed in to change notification settings - Fork 16
algorithmic tasks
В вашем распоряжении 10 тысяч серверов в дата-центре с возможностью удалённого управления и один день, чтобы получить миллион долларов
Что вы для этого сделаете?
Ответ: Продать все серверы по 100 долларов
Сколько раз в день часовая и минутная стрелки встречаются друг с другом ?
Ответ: за каждый 12-часовой период происходит 11 наложений
Есть вращающийся диск
В вашем распоряжении черная (Ч) и белая (Б) краски
На краю диска установлен датчик, который определяет цвет под ним и выдает результат в виде сигнала ( Ч/Б )
Как нужно раскрасить диск, чтобы можно было определить направление его вращения по показаниям датчика ?
Ответ:
Диск уже раскрашен на две половинки в черный и белый цвета
Допускается установка неограниченного числа фиксированных датчиков у края диска
Сколько датчиков необходимо для определения направления вращения ?
Ответ: два
Пользователь вводит натуральное число
Нужно вывести сумму цифр этого числа
Ответ:
String ( x ).split("")
.reduce ( ( sum, val ) => sum + Number ( val ), 0 )Напишите функцию, находящую максимум двух чисел,
Ответ:
Напишите функцию, которая будет подсчитывать число двоек ( 2 ), используемых в записи чисел от 0 до n
Ответ:
( только разряды )
function getNumberOfDigits ( num ) {
let res = 1
while ( --num > 0 ) res = res * 2 + 1
return res
}Дано 20 баночек с таблетками
В 19 баночках лежат таблетки весом 1 г, а в одной — весом 1.1 г.
Даны весы, показывающие точный вес
Как за одно взвешивание найти банку с тяжелыми таблетками ?
Ответ:
Возьмем одну таблетку из банки № 1, две таблетки из банки № 2, три таблетки из банки № 3 и т.д.
Взвесим этот набор таблеток
Если бы все таблетки весили 1 г, то общий вес был бы S = 210 г.
Однако S будет больше за счет банки с тяжелыми таблетками
Теперь номер банки можно вычислить по формуле: ( S — 210 ) / 0.1
Например, если S = 211.3 г, то тяжелые таблетки были в банке № 13
Из шахматной доски размером 8×8 в двух противоположных по диагонали углах вырезано по одному квадрату
Можно ли вымостить доску 31 костью домино, если каждая кость может закрыть два квадрата на доске ?
Ответ:
Шахматная доска делится на 32 черные и 32 белые клетки
После удаления клеток в противоположных углах ( окрашенных в один и тот же цвет ) остается 30 клеток одного и 32 клетки другого цвета
Предположим, осталось 30 черных и 32 белых клетки
Каждая кость будет занимать одну черную и одну белую клетку
Для размещенияя 31 кости домино необходимо 31 белых и 31 черных клеток
Вывод: разложить кости невозможно
Напишите функцию, меняющую местами значения переменных,
Ответ:
function reverse ( x, y ) {
x = x - y
y = x + y
x = y - x
console.log ( x, y )
}Страницы в книге пронумерованы от 1 до N
Если сложить количество цифр, содержащихся в каждом номере страницы, будет 1092
Сколько страниц в книге ?
Ответ:
На каждой из N страниц будет цифра на месте единиц ( последняя цифра в номере страницы )
Тогда всего последних цифр в номерах страниц будет N штук
На всех страницах, кроме первых 9-ти, числа будут как минимум двухзначными
Значит предпоследних цифр в номерах страниц будет N - 9 штук
На всех страницах, за исключением первых 99-ти, номера будут трехзначными
Тогда третьих с конца цифр в номерах страниц будет N - 99 штук
Суммируем полученные числа: N + ( N - 9 ) + ( N - 99 )
В результате должно плучиться число 1092
N + ( N - 9 ) + ( N - 99 ) = 1092
или:
3*N - 108 = 1092 => 3*N = 1200
откуда N = 400
Т.е. в книге 400 страниц
У скольких целых чисел, лежащих в диапазоне от 1 до 1000, есть цифра 3 ?
Ответ:
Сначала узнаем, сколько чисел не имеют 3 в своей записи
Для этого на каждое место ставим 9 цифр, не включающие 3, т.е. 9 * 9 * 9 = 729
Если всего чисел 1000, то ответ 1000 — 729 = 271
© Irina H.Fylyppova 2018
Использование данных материалов или любой их части коммерческими школами ( курсами ) является нарушением авторских прав
| 1 | 2 | 3 | 4 | 5 |
| 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 |
| ⏬ |
|---|
- Блок-схема алгоритма
- Developer Tools
- Chrome DevTools
- Переменные
- Оператор typeof
- Структуры данных
- Операторы присваивания
- Логические выражения
- Условные операторы
- Инкремент
- Свойство length
- Оператор цикла for
- UTF-8
Homework
- Приведение типов
- NaN | null | Infinity
- BigInt (ES10)
- Функции
- Методы
- Методы строк
- Методы массивов
- Date ()
Самостоятельная работа
Практика (XSS)
Homework
- Циклы while и do...while
- Циклы for...of и for...in
- Параметры по умолчанию
- Объект function
Практика
Homework
- Нативные и host-объекты
- Литерал объекта
- Унаследованные свойства
- Конструктор
- Модель наследования
- Публичные и приватные свойства
- Оператор in
1
Homework
- Итерирующие методы массивов
- Тестирование производительности
- SHA
Homework
- Размеры и прокрутка элемента
- Event Loop
- async | await
- API
- REST | HATEOAS
- status codes
JSON placeholder-
JSON server
fake chat
Homework
- strict mode
- Вычисляемые имена свойств
- Краткий синтаксис методов
- Краткий литерал объекта
- Классы
Homework
- :not(:defined)
- Shadow DOM
- Custom elements
- Lifecycle hooks
- whenDefined
- <template>
- slot
1
2
3
Homework
- npm
- webpack
Упражнение 1- ES6 модули
Упражнение 2- --mode | --watch
Упражнение 3
Упражнение 4
Упражнение 5
Упражнение 6
Упражнение 7
Упражнение 8
Homework
| ⏫ |
|---|



Дополнительно
Справочная инфо
Git Bush
TCP/IP
Коды символов