Есть ответ 👍

Натуральные числа записали в бесконечную таблицу по спирали, начиная с единицы так, как это показано на рисунке. для данного числа 1090 определите всех его соседей (по горизонтали, вертикали и диагонали) и выпишите их через пробел в порядке возрастания.

143
492
Посмотреть ответы 2

Ответы на вопрос:

ruana2005
4,5(38 оценок)

## код на 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]]
seSSS
4,4(41 оценок)

Ответ: 2.наука об информации и способах её хранения, обработки и передачи

Популярно: Информатика