Решить задачу понятно и с пояснением. за качественный ответ.
С редактора презентаций Петя решил создать слайд-шоу со звуковым сопровождением. В слайд-шоу последовательно воспроизводится 10 слайдов с неповторяющимися изображениями, размером 1024 х 512 точек, закодированных с использованием цветовой палитры, содержащей 65 563 цвета. Каждый слайд проигрывается 4 секунды. Переключение слайдов выполняется мгновенно. На протяжении всего слайд-шоу проигрывается моноаудиофайл, кодированный с частотой дискретизации 32 000 Гц при глубине звука 16 бит. Известно, что сжатие изображений и звука не производилось, а вся служебная информация об организации слайд-шоу занимает 10 Кбайт. Сможет ли Петя сохранить своё слайд-шоу на флешке ёмкостью 2 Гбайта, если известно, что она уже заполнена на 90%? Укажите размер слайд-шоу в килобайтах.
// Внимание! Если программа не работает, обновите версию!
begin
// заполним информацию случайным образом;
// если хорошистов в результате не окажется,
// просто перезапускаем задачу
randomize;
var a:=MatrRandom(13,10,4,5); // везде только 4 и 5
for var i:=1 to 20 do // раскидаем 20 троек
a[Random(13),Random(10)]:=3;
a.Println(2); Writeln;
// собственно, решение
var k:=0;
foreach var r in a.Rows do
if r.All(x->x<>3) and not r.All(x->x=5) then k+=1;
Writeln(k,' хорошистов')
end.
Пример
5 5 4 4 4 5 3 3 4 4
5 4 4 4 3 4 5 5 4 5
5 5 5 3 5 4 4 5 5 4
3 5 4 3 4 4 5 5 5 3
5 3 4 4 5 4 4 5 5 4
3 5 5 5 5 4 4 4 4 3
4 4 5 3 5 4 4 5 4 5
4 5 4 4 4 4 4 4 5 4
3 5 3 4 4 4 4 4 5 3
5 5 4 5 4 4 4 5 4 5
4 5 4 5 4 5 3 4 5 5
4 5 4 4 4 4 5 4 4 5
4 3 5 4 4 4 5 5 3 5
3 хорошистов
const n=10;
var
min,i: integer;
a: array[1..n] of integer;
begin
randomize;
min:=11;
for i:=1 to n do begin
a[i]:=random(1,10);
write (a[i],' '); // для наглядности. можно удалить
if (i mod 2 =1) and (a[i]<min)
then min:=a[i];
end;
writeln;
writeln ('min = ',min)
end.
Пример:
5 4 7 8 6 2 10 4 9 9
min = 5
2 задача:
const n=10;
var
max,count,i: integer;
a: array[1..n] of integer;
begin
randomize;
max:=0;
count:=0;
for i:=1 to n do begin
a[i]:=random(1,10);
write (a[i],' '); // для наглядности. можно удалить
if a[i]>max
then max:=a[i];
end;
for i:=1 to n do
if max=a[i] then count:=count+1;
writeln;
writeln ('max = ',max);
writeln ('count = ',count);
end.
Пример:
8 5 3 2 2 10 10 9 3 10
max = 10
count = 3