Ответы на вопрос:
## код на ruby 2.2.3p173 def lineuparraysize(num) cur_size = 4 while num > cur_size cur_size = 2 * cur_size + 8 end cur_size = 2 * cur_size + 8 end def getspiralneighbours(num) a = [] a[0] = [0, 0] a[1] = [-1, 1] moves = [[1, 0], [0, -1], [-1, 0], [0, 1]] move_direction = 0 side_size = 2 cur_size = 1 cycle = 1 mode_direction = 0 for i in 2..lineuparraysize(num) new_num = array.new(2) new_num[0] = a.last[0] + moves[move_direction][0] new_num[1] = a.last[1] + moves[move_direction][1] a[i] = new_num # p new_num cur_size += 1 if cur_size == side_size cur_size = 1 move_direction = (move_direction + 1) % 4 side_size += 1 if move_direction % 2 == 0 cycle += 1 if move_direction == 0 end end a.each_with_index do |i,x| p [x, i] if (i[0]-a[num][0]).abs < = 1 and (i[1]-a[num][1]).abs < = 1 end end getspiralneighbours(1090) вывод (числа и условные координаты) [962, [15, 16]] [1089, [15, 17]] [1090, [16, 17]] [1091, [16, 16]] [1224, [15, 18]] [1225, [16, 18]] [1226, [17, 18]] [1227, [17, 17]] [1228, [17, 16]]
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
тогжан0917.08.2022 09:06
-
topaxx10018.01.2022 01:00
-
Kaytha08.10.2022 13:45
-
ЯхочуВхогвартс04.08.2022 04:46
-
Дако03120421.02.2022 21:57
-
noellajyli11.09.2022 16:57
-
kurilov21803.12.2022 07:03
-
pixelbit12.06.2020 11:56
-
Flarissa16317.03.2022 04:18
-
natashalife06.04.2021 03:38
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.