Бесконечная спираль начинается с верхней левой ячейки. Первые четыре строки и столбца показаны ниже. Продолжайте тот же шаблон, расширяя спираль квадратными слоями. Координаты начинаются с 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-битный целый тип.
Примеры
Ввод:
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.
Ввод:
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. Следуйте условию и ограничениям выше.