Skip to content

algorithmic tasks

garevna edited this page Feb 19, 2019 · 8 revisions

Алгоритмические задачи

1

В вашем распоряжении 10 тысяч серверов в дата-центре с возможностью удалённого управления и один день, чтобы получить миллион долларов

Что вы для этого сделаете?

Ответ: Продать все серверы по 100 долларов


2

Сколько раз в день часовая и минутная стрелки встречаются друг с другом ?

Ответ: за каждый 12-часовой период происходит 11 наложений


3

Есть вращающийся диск

В вашем распоряжении черная (Ч) и белая (Б) краски

На краю диска установлен датчик, который определяет цвет под ним и выдает результат в виде сигнала ( Ч/Б )

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

Ответ:


4

Диск уже раскрашен на две половинки в черный и белый цвета

Допускается установка неограниченного числа фиксированных датчиков у края диска

Сколько датчиков необходимо для определения направления вращения ?

Ответ: два


5

Пользователь вводит натуральное число

Нужно вывести сумму цифр этого числа

Ответ:

JS
String ( x ).split("")
    .reduce ( ( sum, val ) => sum + Number ( val ), 0 )

6

Напишите функцию, находящую максимум двух чисел, ⚠️ не используя библиотечные функции и операторы сравнения

Ответ:


7

Напишите функцию, которая будет подсчитывать число двоек ( 2 ), используемых в записи чисел от 0 до n

Ответ:

JS

( только разряды )

function getNumberOfDigits ( num ) {
    let res = 1
    while ( --num > 0 ) res = res * 2 + 1
    return res
}

8

Дано 20 баночек с таблетками

В 19 баночках лежат таблетки весом 1 г, а в одной — весом 1.1 г.

Даны весы, показывающие точный вес

Как за одно взвешивание найти банку с тяжелыми таблетками ?

Ответ:

Возьмем одну таблетку из банки № 1, две таблетки из банки № 2, три таблетки из банки № 3 и т.д.

Взвесим этот набор таблеток

Если бы все таблетки весили 1 г, то общий вес был бы S = 210 г.

Однако S будет больше за счет банки с тяжелыми таблетками

Теперь номер банки можно вычислить по формуле: ( S — 210 ) / 0.1

Например, если S = 211.3 г, то тяжелые таблетки были в банке № 13


9

Из шахматной доски размером 8×8 в двух противоположных по диагонали углах вырезано по одному квадрату

Можно ли вымостить доску 31 костью домино, если каждая кость может закрыть два квадрата на доске ?

Ответ:

Шахматная доска делится на 32 черные и 32 белые клетки

После удаления клеток в противоположных углах ( окрашенных в один и тот же цвет ) остается 30 клеток одного и 32 клетки другого цвета

Предположим, осталось 30 черных и 32 белых клетки

Каждая кость будет занимать одну черную и одну белую клетку

Для размещенияя 31 кости домино необходимо 31 белых и 31 черных клеток

Вывод: разложить кости невозможно


10

Напишите функцию, меняющую местами значения переменных, ⚠️ не используя временные переменные

Ответ:

JS
function reverse ( x, y ) {
    x = x - y
    y = x + y
    x = y - x
    console.log ( x, y )
}

10

Страницы в книге пронумерованы от 1 до N

Если сложить количество цифр, содержащихся в каждом номере страницы, будет 1092

Сколько страниц в книге ?

Ответ:

JS

На каждой из 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 страниц

© Irina H.Fylyppova 2018
Использование данных материалов или любой их части коммерческими школами ( курсами ) является нарушением авторских прав


Новая версия


1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19

Занятие 1

⤵️

Занятие 2

⤴️ ⤵️

Занятие 3

⤴️ ⤵️

Занятие 4

⤴️ ⤵️

Занятие 5

⤴️ ⤵️

Занятие 6

⤴️ ⤵️

Занятие 7

⤴️ ⤵️

Занятие 8

⤴️ ⤵️

Занятие 9

⤴️ ⤵️

Занятие 10

⤴️ ⤵️

Занятие 11

⤴️ ⤵️

Занятие 12

⤴️ ⤵️

Занятие 13

⤴️ ⤵️

Занятие 14

⤴️ ⤵️

Занятие 15

⤴️ ⤵️

Занятие 16

⤴️ ⤵️

Занятие 17

⤴️ ⤵️

Занятие 18

⤴️ ⤵️

Занятие 19

⤴️ ⤵️

⤴️

ico20 Дополнительно
dir-20 Справочная инфо

Clone this wiki locally