Все задачи
Средне Решено: 0 Процент решений: 0%

Поиск числа в спирали

Найдите значение по заданным строке и столбцу в расширяющейся числовой спирали.

Бесконечная спираль начинается с верхней левой ячейки. Первые четыре строки и столбца показаны ниже. Продолжайте тот же шаблон, расширяя спираль квадратными слоями. Координаты начинаются с 1.

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

Верните значение одной ячейки, не строя всю таблицу целиком.

Реализуйте функцию number_spiral(row, column).

Ввод

row: Номер строки, считая сверху, начиная с 1.

column: Номер столбца, считая слева, начиная с 1.

Вывод

Верните число, находящееся в этой позиции.

Ограничения

1 ≤ row, column ≤ 1 000 000 000. Значение помещается в знаковый 64-битный целый тип.

Примеры

Пример 1
Ввод:
row = 3
column = 2

Ожидаемый вывод:
expected = 6
Ввод:
long long row = 3;
long long column = 2;

Ожидаемый вывод:
long long expected = 6;
Ввод:
long row = 3;
long column = 2;

Ожидаемый вывод:
long expected = 6;

Пояснение

Во второй ячейке третьей строки на рисунке находится число 6.

Пример 2
Ввод:
row = 1
column = 4

Ожидаемый вывод:
expected = 10
Ввод:
long long row = 1;
long long column = 4;

Ожидаемый вывод:
long long expected = 10;
Ввод:
long row = 1;
long column = 4;

Ожидаемый вывод:
long expected = 10;

Пояснение

Четвёртый квадратный слой начинается с числа 10 в верхней строке.

Ссылки

Это задание адаптировано для CodeUtility. Следуйте условию и ограничениям выше.

Учитесь у других

Решения сообщества

Пока нет опубликованных решений. Решите задание, чтобы поделиться первым.