Например, если нужно, чтобы было выполнено сразу два условия if (a > = 10) and (a < 100) then // проверяем, что число а - двузначное. или, если нужно проверить любое условие из двух if (a mod 3 = 1) or (a mod 3 = 2) then // проверяем, что число а не делится на 3. или, если одно условие должно быть выполнено, а второе нет if (a mod 5 = 0) and not (a mod 10 = 0) then // проверяем, что число а кончается на 5
Tatyana_Minullina
12.06.2021
## код на 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]]
ЭдуардовнаКлючников1361
12.06.2021
Сначала переводим в десятичную сист. счисл.: теперь переведём в шестнадцатиричную систему счисления. для этого нужно целую часть поделить на число системы счисления то есть 16, остатки от деления будут целой частью полученного числа. дробную часть числа умножим на 16, из полученного числа выделить целую часть - это будет первая цифра числа, числа после запятой снова умножим и снова выделим из полученного числа целую часть и так продолжать до тех пор пока любо не получится число без чисел после запятых либо можно не считать тем самым округлить число.из этого следует что: 16/16=1 ост. 0 - составляем число от частного к первому остатку получаем, что целая часть искомого числа 10. далее вычисляем дробную часть: 0,77777778*16= 12,44444448 0,44444448*16= 7,11111168 0,11111168*16= 1,77778688 0,77778688*16= 12,44459008 на этом остановимся, т. к. в шеснадцатиричной сист. счисл. нет числа 12 заменим его на букву с и получим 0,с71с соединим полученные результаты. ответ: 10,с71с