В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
alibna
alibna
08.12.2020 11:52 •  Информатика

Условие Сир Готфрид собирается освободить принцессу Мариотту из лап дракона. В освобождении принцесс, как известно, главное — произвести первое впечатление, поэтому благородный рыцарь хочет приобрести n любовных записок в подарок Мариотте.

Королевские летописцы продают любовные записки по цене 1.05 фунтов за одну записку, но можно сэкономить, купив комплект из 12 записок за 10.25 фунтов или целую коробку из 12 комплектов за 114 фунтов.

Готфриду, определив, сколько коробок, комплектов и любовных записок он должен купить, чтобы заплатить как можно меньше.

Формат входных данных
В одной строке вводится одно целое число N (1 ⩽ N ⩽ 30 000)

Формат выходных данных
Требуется вывести три числа — количество коробок, комплектов и записок, которые надо купить.

Примечания
Сир Годфрид может купить больше любовных записок, чем ему нужно, если это позволит ему сэкономить.

Показать ответ
Ответ:
alina1930
alina1930
06.09.2022 01:45
// PascalABC.NET 3.0, сборка 1073
const
  nn=30;
  mm=30;
var
  a:array[1..mm,1..nn] of integer;
  m,n,i,j,k,s:integer;
begin
  Writeln('Введите число строк и столбцов массива: '); Read(m,n);
  Randomize;
  Writeln('*** Исходный массив ***');
  k:=0;
  for i:=1 to m do begin
    for j:=1 to n do begin
      a[i,j]:=Random(51)-25;
      Write(a[i,j]:4);
      if Odd(a[i,j]) then Inc(k)
    end;
    Writeln
  end;
  if k>5 then begin
    Writeln('Средние арифметические отрицательных элементов по строкам');
    for i:=1 to m do begin
      s:=0; k:=0;
      for j:=1 to n do
        if a[i,j]<0 then begin Inc(k); s:=s+a[i,j] end;
      if k>0 then Writeln(s/k:9:5) else Writeln('  0.00000');
    end
  end
  else begin
    Writeln('*** Результирующий массив ***');
    for i:=1 to m do begin
      for j:=1 to n do begin a[i,j]:=2*a[i,j]; Write(a[i,j]:4) end;
    Writeln
    end
  end
end.

Тестовые решения:
Введите число строк и столбцов массива:
8 6
*** Исходный массив ***
 -16  -8  -1  24 -22   1
  -9 -20 -25  13 -11  10
 -15  10 -12  20 -22   3
  -6  25  -3  25 -14  22
  24  -4  24  17  -4 -17
 -23  -9 -22   1 -18 -13
 -12  13   6 -16   2 -13
  19   8 -22  14  -3   4
Средние арифметические отрицательных элементов по строкам
-11.75000
-16.25000
-16.33333
 -7.66667
 -8.33333
-17.00000
-13.66667
-12.50000

Введите число строк и столбцов массива:
3 5
*** Исходный массив ***
   3  24 -21 -22  -8
 -21  14 -22   0 -22
  15 -16  -2   6  22
*** Результирующий массив ***
   6  48 -42 -44 -16
 -42  28 -44   0 -44
  30 -32  -4  12  44
0,0(0 оценок)
Ответ:
seryogasaprikin
seryogasaprikin
13.07.2022 10:57
Var a:array of array of integer;
c:array of array of integer;
ma:array of array of integer;
i,j,n:integer;
begin;
randomize;
readln(n);
setlength(a,n+1); //задаём размерность динамических массивов
setlength(c,n+1);
setlength(ma,n+1);
for i:=1 to n do
begin;
setlength(a[i],n+1);
setlength(c[i],n+1);
setlength(ma[i],n+1);
end;

writeln('Matrix A:');   //генерируем массив псеводслучайных чисел
for i:=1 to n do begin;
 writeln;
  for j:=1 to n do
   begin;
    a[i,j]:=random(10);
    write(a[i,j]:4);
   end;
 end;
writeln;

writeln('Matrix C:'); //аналогично
for i:=1 to n do
 begin;
 writeln;
  for j:=1 to n do
   begin;
    c[i,j]:=random(10);
    write(c[i,j]:4);
   end;
 end;

for i:=1 to n do     //сохраняем матрицу C для транспонации
  for j:=1 to n do
    ma[i,j]:=c[i,j];
    writeln;

writeln('Transpose matrix C:'); //транспонируем C
for i:=1 to n do
 begin;
  writeln;
   for j:=1 to n do
    begin;
     c[i,j]:=ma[j,i];
     write(c[i,j]:4);
    end;
 end;

writeln;
writeln('Final matrix:'); // получаем финальную матрицу
for i:=1 to n do
 begin;
  writeln;
   for j:=1 to n do
    begin;
     ma[i,j]:=2*c[i,j]*a[i,j];
{по свойству дистрибутивности матриц С(A+A)=C*A+C*A=2*C*A}
     write(ma[i,j]:4);
    end;
 end;
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота