Если у вас есть изображения, которые занимают много места на диске, их размеры можно уменьшить, не изменяя размер изображения. Наилучшее сжатие достигается форматом JPG, но даже если изображение уже в этом формате, его всё равно можно уменьшить, так как у формата JPG есть адаптивная схема сжатия, позволяющая сохранять изоражение с разной степенью сжатия. Компромис здесь заключается в том, что чем меньше места занимает изображение, тем больше деталей теряется при сжатии. Нужно также помнить, что повторные сохранения в формате JPG также приводят к ухудшению качества изображения.
// PascalABC.NET 3.2, сборка 1387 от 20.02.2017 // Внимание! Если программа не работает, обновите версию!
begin var a:=ArrRandom(ReadInteger('n='),-99,99); a.Println; var a0:=a[0]; var b:=a[1:].Where(x->x mod a0=0).ToArray; if b.Length>0 then b.Println else Writeln('Нет элементов, кратных первому'); end.
Если у вас есть изображения, которые занимают много места на диске, их размеры можно уменьшить, не изменяя размер изображения. Наилучшее сжатие достигается форматом JPG, но даже если изображение уже в этом формате, его всё равно можно уменьшить, так как у формата JPG есть адаптивная схема сжатия, позволяющая сохранять изоражение с разной степенью сжатия. Компромис здесь заключается в том, что чем меньше места занимает изображение, тем больше деталей теряется при сжатии. Нужно также помнить, что повторные сохранения в формате JPG также приводят к ухудшению качества изображения.
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),-99,99); a.Println;
var a0:=a[0];
var b:=a[1:].Where(x->x mod a0=0).ToArray;
if b.Length>0 then b.Println
else Writeln('Нет элементов, кратных первому');
end.
Пример
n= 16
-11 85 11 -9 -24 32 6 42 -92 -69 -87 2 -11 -77 -94 66
11 -11 -77 66
Замечание.
Если первый элемент тоже нужно включить в результирующий массив,
нужно записать так: var b:=Where(x->x mod a0=0).ToArray;