-
Notifications
You must be signed in to change notification settings - Fork 16
algorithmic tasks
Напишите функцию, которая выводит в консоль числа от 1 до n, где n — целое число, которое функция принимает в качестве параметра, при этом:
- выводит
fizzвместо чисел, кратных 3 - выводит
buzzвместо чисел, кратных 5 - выводит
fizzbuzzвместо чисел, кратных и 3, и 5
Ответ:
function showNumbers ( finalNum ) {
var num = 0
while ( num++ < finalNum ) {
let x = ( num % 3 ? "" : "fizz" ) + ( num % 5 ? "" : "Buzz" )
console.log (
x.length ? x : num
)
}
}
Сколько раз в день часовая и минутная стрелки встречаются друг с другом ?
Ответ: за каждый 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
Среди прохожих провели опрос
Был задан вопрос: «Какое домашнее животное у Вас есть?»
По результатам опроса выяснилось, что
- у 150 человек есть кошка
- у 130 — собака
- у 50 — птичка
- у 60 человек есть кошка и собака
- у 20 — кошка и птичка
- у 30 — собака и птичка
- у 70 человек вообще нет домашнего животного
- у 10 человек есть и кошка, и собака, и птичка
Сколько прохожих приняли участие в опросе?
Дан числовой ребус
Разным буквам соответствуют разные цифры, одинаковым — одинаковые
Найдите все решения или докажите, что их нет
ЛИСА + ВОЛК = ЗВЕРИ
Решение:
Вариантов будет всего 2:
| А | В | Е | З | И | К | Л | О | Р | С |
|---|---|---|---|---|---|---|---|---|---|
| 2 | 6 | 0 | 1 | 5 | 3 | 9 | 4 | 7 | 8 |
| 3 | 6 | 0 | 1 | 5 | 2 | 9 | 4 | 7 | 8 |
| Л | И | С | А | |
| В | О | Л | К | |
| З | В | Е | Р | И |
| 9 | 5 | 8 | 2 | |
| 6 | 4 | 9 | 3 | |
| 1 | 6 | 0 | 7 | 5 |
| 9 | 5 | 8 | 3 | |
| 6 | 4 | 9 | 2 | |
| 1 | 6 | 0 | 7 | 5 |
пусть x, y, z могут принимать только два значения: либо 0, либо 1
тогда запишем:
А + К = x * 10 + И
С + Л + x = y * 10 + Р
И + О + y = z * 10 + Е
Л + В + z = З * 10 + В
литера З может принимать значения либо 0, либо 1
вероятнее всего, это 1, поскольку иначе ее там вообще не было бы...
уточним этот момент:
З * 10 + В = Л + В + z
З = 0 <=> Л = 0, z = 0 => З = Л = 0, что противоречит условию
Отсюда получаем, что З = 1 => Л + z = 10 => Л = 9
Далее, А не равно 0 и К не равно 0
Далее, x не может быть 1, поскольку тогда
С + 9 + 1 = 10 + С = 10 + Р => С = Р,
что противоречит условию
Итак, x = 0
Тогда А + К < 10 ( А, К не равны 1 и 9 )
2 + 3 2 + 4 2 + 5 2 + 6 2 + 7 исключено, т.к. тогда Р = 9 3 + 4 3 + 5 3 + 6 исключено, т.к. тогда Р = 9 4 + 5 исключено, т.к. тогда Р = 9
Получаем набор вариантов значений А и К: { 2, 3, 4, 5, 6 }
- { 2, 3 } => И = 5
- { 3, 2 } => И = 5
- { 2, 4 } => И = 6
- { 4, 2 } => И = 6
- { 2, 5 } => И = 7
- { 5, 2 } => И = 7
- { 2, 6 } => И = 8
- { 6, 2 } => И = 8
- { 3, 4 } => И = 7
- { 4, 3 } => И = 7
- { 3, 5 } => И = 8
- { 5, 3 } => И = 8
Значит, возможные варианты значений И: { 5, 6, 7, 8 }
Теперь С + 9 = Р, причем С не равно 9 => вариант Р = 8 отпадает
С не может быть 0, поскольку тогда Р = 9, что противоречит Л = 9
Т.е. С попадает в диапазон от 2 до 8
Но при С = 2 значение Р будет 1 = З
Тогда С попадает в диапазон от 3 до 8
Значит, возможные варианты значений Р: { 2, 3, 4, 5, 6, 7 }
при этом y получает значение 1
И + О + 1 = 10 * z + Е, z = 1 => И + О + 1 = 10 + Е
И = 9 + Е - О
О - Е = 9 - И
возможные варианты значений И: { 5, 6, 7, 8 }
тогда О - Е : { 4, 3, 2 } ( вариант 1 отпадает ) =>
возможные варианты значений И: { 5, 6, 7 }
варианты значений О и Е ( О > Е ):
{ 8, 4 } { 8, 5 } { 8, 6 } { 7, 3 } { 7, 4 } { 7, 5 } { 6, 2 } { 6, 3 } { 6, 4 } { 5, 2 } { 5, 3 }
В ковре размером 4×4 метра моль проела 15 дырок
Всегда ли можно вырезать коврик размером 1×1, не содержащий внутри дырок?
( Дырки считаются точечными )
Обоснуйте решение
Только плохие люди обманывают или крадут
Катя — хорошая
а) Катя обманывает ( liar ) б) Катя крадет ( thief ) в) Катя не крадет ( !thief ) г) Катя обманывает и крадет ( liar && thief ) д) ни одно из вышеперечисленных
Плохие люди: liar || thief Хорошие люди: !liar && !thief
!( liar && thief ) = !liar || !thief
Правильного ответа ( !liar && !thief ) нет в списке
д) !liar && !thief && !!thief && !( liar && thief ) = false <= !thief && !!thief = false
© 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
Коды символов