var a: array[1..n]of integer; i, j, k, max: integer;
begin max := -MaxInt; for i := 1 to n do begin write('a[', i, ']= '); readln(a[i]); if a[i] > max then max := a[i]; end; writeln(' максимальный элемент массива = ', max); //сортировка методом пузырька for i := 1 to n - 1 do for j := 1 to n - i do if a[j] < a[j + 1] then begin k := a[j]; a[j] := a[j + 1]; a[j + 1] := k end; //вывод массива for i := 1 to n do write(a[i]:4); end.
В таких заданиях всегда советую начинать с конца! Вот смотри нам нужно получить число 18, его можно получить как умножением на 2, так и вычитанием 3 из 21, но как же нам получить 21??? на это уйдёт больше команд значит последняя команда = 2 Смотрим дальше было 18, разделим на 2 = 9, это число нельзя получить путем умножения на 2, не будем же мы брать 4.5, значит предпоследняя команда 1 Смотрим дальше, было 9 прибавим 3, получается 12, его можно получить обееми командами, но 15 нам будет сложно получить и будет больше 4 команд, значит пред пред последняя команда 2 Смотрим дальше, было 12 разделим на 2 получится 6, ну и тут уже очевидно, что первая команда = 2 ответ: 2212 (3*2=6, 6*2=12, 12-3=9, 9*2=18)
var a,b,x:real;
begin
readln(a,b,x);
if(x<=b)and(x>=a)then writeln('YES')else writeln('NO');
end.