Паскаль формат входных данных сначала задано число n — количество элементов в массиве (1n35 далее через пробел записаны n чисел — элементы массива. формат выходных данных необходимо вывести значение наибольшего элемента в массиве.
Program gtr; var a: array[1..1000]of integer; n,i,max: integer; begin read(n); for i: =1 to n do read(a[i]); max: =a[1]; for i: =2 to n do if(a[i]> max)then max: =a[i]; writeln(max); end.
ohussyev
12.10.2021
Вариант №1 (не совсем удачный, как было отмечено в комментариях). //pascalabc.net (версия 3.1, сборка 1210 от 29.03.2016) var n,i,m: integer; flag: boolean; begin readln(n); flag: =false; if (n mod 2< > 0)then i: =n-1 else i: =n; while i> 0 do begin if power(2,i)< =n then begin write(power(2,i),' '); flag: =true; end; i: =i-2; end; if not flag then writeln(0); end. тест №1 1025 1024 256 64 16 4 тест №2 1 0 вариант №2 var a,i,n: integer; begin a: =1; readln(n); i: =trunc(log2(n)); //получим степень двойки для n //если i нечетное, //то первое искомое число получаем путем сдвига влево на i-1 в //двоичном представлении числа иначе сдвиг на i if (i mod 2)=1 then a: =a shl(i-1) else a: =a shl i; //далее получаем числа сдвигая вправо на 2 разряда //в двоичном представлении числа while a> =2 do begin write(a,' '); a: =a shr 2; end; end. тестовое решение: 2147483647 1073741824 268435456 67108864 16777216 4194304 1048576 262144 65536 16384 4096 1024 256 64 16 4
miumiumeaow
12.10.2021
Var max,min,x: real; i: byte; begin read(x); min: =x; max: =x; for i: =2 to 5 do begin read(x); if (x< min) then min: =x else if (x> max) then max: =x; end; writeln ('max = ', max,' min = ', min); end.