Определите приблизительный информационный объем графического файла который будет получен в результате сканирования фотографии размером 9х15 сантиметров с разрешением 300*300dpi и глубиной кодирования цвета 16 бит.
//PascalABC.NET версия 3.2, сборка 1389 //Если программа не запускается, то обновите версию uses System.Linq; begin begin writeln('I'); var n := ReadInteger('n='); Writeln((1 + 1 + Power(2, n - 1)) * n / 2); end;
begin writeln; writeln('II'); var n := ReadInteger('n='); Writeln(n mod 11 = 0 ? 'YES' : 'NO');
end;
begin writeln; writeln('III'); var a := ReadArrInteger('Документы', ReadInteger('n=')).ToList; writeln;
while a.Any() do begin write(a[0], ' '); a.RemoveAt(0); if not a.Any then break;
write(a.Last, ' '); a.RemoveAt(a.Count - 1); if not a.Any then break;
var n := 0; if a.Count > 1 then n := a.Count div 2 - 1; write(a[n], ' '); a.RemoveAt(n); end; end; end.
Если исходить из этих данных, то задача на логику, вариантов решения много. Именно в количестве учеников.
Объяснение:
1 вариант
Т.к. количество учеников не известно, то мы возьмём произвольно.
25x+25y+25z+25q=25
100×(x+y+z+q)=25
(x+y+z+q)= 100÷25
(x+y+z+q)= 4
Получилось 4 автобуса по 25 человек
Т.к. мы взяли 25 за количество учеников в каждом классе.
2 вариант
Берем произвольное количество учеников:
25+24+23+22=25
94×(х+у+z+q)=25
(х+у+z+q)=94÷25
(х+у+z+q)=3,76
Исходя из этого:
94-75=19( 3,76 - это автобус 3×25=75)
То, нужно 4 автобуса, но
3 автобуса по 25 человек и еще один 6 человек, а 19 мест свободных.
Или 4 автобуса по 23 человека и 2 места свободных в одном из автобусов.
//Если программа не запускается, то обновите версию
uses System.Linq;
begin
begin
writeln('I');
var n := ReadInteger('n=');
Writeln((1 + 1 + Power(2, n - 1)) * n / 2);
end;
begin
writeln;
writeln('II');
var n := ReadInteger('n=');
Writeln(n mod 11 = 0 ? 'YES' : 'NO');
end;
begin
writeln;
writeln('III');
var a := ReadArrInteger('Документы', ReadInteger('n=')).ToList;
writeln;
while a.Any() do
begin
write(a[0], ' ');
a.RemoveAt(0);
if not a.Any then break;
write(a.Last, ' ');
a.RemoveAt(a.Count - 1);
if not a.Any then break;
var n := 0;
if a.Count > 1 then n := a.Count div 2 - 1;
write(a[n], ' ');
a.RemoveAt(n);
end;
end;
end.