Задачи с собеседований. Три адекватные задачки на «подумать» / Хабр
И снова про собеседования. Некоторые простые задачи порой вызывают затруднение. В этом посте я хочу рассмотреть три задачки с собеседований, которые мне понравились, потому что к их решению можно прийти самим, но чуток подумать все равно придется.
Задача 1. Проверьте, насколько вы избалованный программист
Дана упорядоченная последовательность чисел от 1 до N. Из нее удалили одно число, а оставшиеся перемешали. Найти удаленное число.
С толку сбивает только одна фраза «упорядоченная последовательность», она-то и может натолкнуть на использование сортировки для решения данной задачи. Программисты довольно часто пользуются готовыми библиотеками и фреймворками, поэтому при решении задач автоматом обдумываешь, что будешь использовать из библиотеки. Для многих программистов единственным очевидным решением является сортировка полученной последовательности и далее поэлементное сравнение исходной и отсортированной последовательностей до первого несовпадения. Можно подсчитать сложность такого решения: сложность сортировки плюс линейная сложность поиска. Хм, может подойти к решению как-то иначе?
Есть более простое решение
Задача 2. Жонглирование числами
У вас есть пятилитровый и трехлитровый кувшины и неограниченное количество воды. Как отмерить ровно 4 литра воды? Кувшины имеют неправильную форму, поэтому точно отмерить половину кувшина не получится.
Это моя любимая задачка из разряда «головоломок». С одной стороны нужно немного подумать, а с другой – она действительно проста и адекватна.
Решение
Здесь придется немного пожонглировать с простыми числами 5 и 3.
1. Заполняем трехлитровый кувшин. Переливаем эти 3 литра в пятилитровый кувшин.
2. Снова заполняем трехлитровый кувшин и переливаем из него в пятилитровый. Помним, что в пятилитровом кувшине сейчас 3 литра, до полного его заполнения из другого кувшина выливается 2 литра. В трехлитровом кувшине остался один литр.
3. Опустошаем пятилитровый кувшин. Переливаем в него отмеренный один литр. Снова заполняем трехлитровый кувшин и переливаем из него в пятилитровый. Теперь в большом кувшине у нас 4 литра воды.
Задача 3. Без посредников
Имеется два числа. Можно ли поменять их местами без использования дополнительной переменной?
Как потом оказалось, это довольно популярная задачка. Но я решила со значительным недочетом.
Решить задачу можно, используя арифметические или побитовые операции.
Осталось только пожелать всем успешных собеседований!
А в комментариях можете написать, какие задачи встречались вам.
3-8Квадратный корень из 36 | Как найти квадратный корень из 36
Реклама
Как найти квадратный корень из 36Квадрат 6:
- этого числа.
Например:
- Предположим, нам нужно найти квадрат любого числа, скажем, X , затем мы умножим X само на себя, то есть X , и мы получим его квадрат как Y . Это можно записать как (X) 2 = X*X= Y
- Аналогичным образом находим квадрат числа 6.
- Чтобы найти квадрат 6, мы умножаем 6 на само число, то есть на 6, и записываем его следующим образом (6)
Квадратный корень из 36:
- Теперь в обратном порядке, если нам нужно найти квадратный корень из Y . Квадратный корень из Y — это единственное значение, которое при умножении само на себя дает значение Y .
- Это означает, что √ Y = √(X*X) = X
Где √ — символ, названный радикалом.
Например:
- Квадратный корень из 36 можно записать как
√36 = √ (6*6) = 6
Где √ – это символ, который называется корневым знаком.
- Короче говоря, мы помним квадрат из 6 и квадратный корень из 36 как .
Примечание:
- Каждое положительное действительное число имеет два корня.
- Квадрат любого отрицательного числа всегда является положительным числом.
Например:
- 36 — положительный совершенный квадрат, который также имеет два корня +6 и -6.
- Но в основном берется положительное значение квадратного корня, которое называется главным квадратным корнем или неотрицательным квадратным корнем. 909:20
- Следовательно, √ 36 = √(-6)*(-6) = -6 и √36 = √(6)*(6) = 6
Аналогично,
- (-6)*(-6) = (-6) 2 = +36 и (+6)*(+6) = (+6) 2 = 36
Методы нахождения квадратного корня из полного квадрата, например 36:
Существует множество методов нахождения квадратного корня из полного квадрата, из которых мы подробно рассмотрим следующий метод.
- Метод повторного вычитания
- Метод простой факторизации
- В методе повторного вычитания мы должны вычесть последовательные нечетные числа, начиная с 1, из совершенного квадратного числа, квадратный корень которого мы должны найти.
- э. чтобы найти квадратный корень из 36, сначала мы вычитаем из него 1. 36 – 1 = 35
- Тогда следующее нечетное число равно 3, поэтому мы должны вычесть его из 35 35 – 3 = 32 909:20
- Таким образом, мы вычитаем последовательные нечетные числа из соответствующих значений, полученных после непрерывного вычитания, пока не получим окончательное значение 0.
- И значение количества нечетных чисел, необходимых для получения 0, является искомым квадратным корнем.
Например:
- Квадратный корень из 36 находим методом многократного вычитания следующим образом:
36 – 1 = 35
35 – 3 = 32
32 — 5 = 27
27 — 7 = 20
20 — 9 = 11
11– 11 = 0
- . Таким образом, здесь 1, 0
- Следовательно, квадратный корень из 36 методом многократного вычитания равен 6.
- В методе простой факторизации мы должны разделить идеальное квадратное число, квадратный корень которого мы должны найти, на простое число, начиная с 2, 3, 5… и так далее, пока мы не получим остаток как 1. 909:20
- Сначала мы должны разделить на простое число 2, если это число не делится на 2, тогда мы должны взять следующее простое число, то есть 3, и процесс будет продолжаться до тех пор, пока мы не получим остаток как 1.
- Наконец, мы должны составить пары простых чисел, взятых в форме умножения, а затем мы должны извлечь из них квадратный корень.
Например:
- Ниже описан процесс нахождения квадратного корня из 36 методом простой факторизации. 909:20
- Поскольку 36 четное число, оно должно делиться на простое число 2.