На бесконечном поле имеется вертикальная стена. Длина стены неизвестна. От верхнего конца стены вправо отходит горизонтальная стена также неизвестной длины. Робот находится в клетке, расположенной слева от нижнего края вертикальной стены.
На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).
Напишите для Робота алгоритм, закрашивающий все клетки, расположенные левее вертикальной стены и выше горизонтальной стены и прилегающие к ним. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).
Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться. Алгоритм напишите в текстовом редакторе и сохраните в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.
1) Real - ?
2) Integer - А. Кількість учнів у класі
3) String - В. Назва дня тижня
4) array[1..30] of real - Б. Середньодобова температура повітря
Объяснение:
Real - тип данных с плавающей точкой. Сюда можно отнести и вариант Б (если брать среднее арифметическое, например).
Integer - целочисленный тип данных. Количество учеников - всегда натуральное число.
String - строчный тип данных. Например, слово. Название дня недели - это строчный тип данных
array[1..30] of real - массив, состоящий из 30-ти элементов вещественного типа данных. Сюда можно поместить температуру воздуха, так как она зачастую не целое число.
78074896 4879681
78675968 2401
80604484 20151121
81920000 625
84934656 81
Объяснение:
Алгоритм работает долго, но не критично.
Язык с++.
Для оптимизации алгоритма использовались следующие правила:
четное*нечетное = четное
четное*четно = четное
нечетное*нечетное = нечетное
Код прикрепляю в .txt