4) Дан целочисленный массив из 40 элементов. Элементы массива могут принимать целые значения от 1 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести наибольший из элементов массива, шестнадцатеричная запись которого оканчивается на букву F. Если таких чисел нет, нужно вывести ответ 0.
Ответы
Ответ:
import random
def gen_rnd_array(rng):
array = []
for i in range(rng):
array.append(random.randint(1,10000))
return array
def get_max_hex(arr):
HArray = []
for item in arr:
str_item = str(hex(item))
if (str_item[len(str_item)-1:len(str_item)]).lower() == 'f':
HArray.append(item)
return HArray
def main():
array = gen_rnd_array(40)
HArray = get_max_hex(array)
if len(HArray) == 0:
print(0)
else:
print(max(HArray))
if __name__ == '__main__':
main()
Объяснение:
Программа делает вид, что работает корректно. Подобный алгоритм довольно сложно проверить в ручную. Так как не указано, на каком конкретно языке выполнять задание, я выполнил его, используя средства Python. Если вас устраивает это решение, ниже приведён скриншот исходного кода, так как сайт ломает табуляции. Если вам нужно просто скопировать и не париться, я могу залить этот код на сервис pastebin и в комментарии к ответу отправить ссылку.