Прилетели галки и стали садиться на палки. если на каждую палку сядет по галке, не хватит одной палки, а если на палку сядет по две галки, то одна палка останется лишней. сколько было палок и сколько галок?
// PascalABC.NET 3.3, сборка 1579 от 18.11.2017 // Внимание! Если программа не работает, обновите версию!
begin var (n,m):=ReadInteger2('Количество строк и столбцов в массиве:'); Writeln('*** Исходный массив [',n,',',m,'] ***'); var a:=MatrRandom(n,m,-99,99); a.Println(4); Writeln(4*a.ColCount*'-'); var s:=a.Rows.SelectMany(t->t).Where(t->t mod 8=0); Writeln(s.Sum,' - сумма ',s.Count,' чисел(числа), кратных 8') end.
var f,r,x,n,k1,k2:integer; begin f:=450; r:=1024*1024; x:=2; while x<=r do begin n:=r div x; k1:=Ceil(f/x); k2:=Ceil(f/(2*x)); if (n div k1) = ((n div 2) div k2+40) then begin writeln('1 разбиение: блок = ',x,' Кбайт, блоков на файл ',k1,', файлов ',n div k1); writeln('2 разбиение: блок = ',2*x,' Кбайт, блоков на файл ',k2,', файлов ',(n div 2) div k2); end; x:=2*x; end; end.
Результат: 1 разбиение: блок = 8 Кбайт, блоков на файл 57, файлов 2299 2 разбиение: блок = 16 Кбайт, блоков на файл 29, файлов 2259