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

Пока Коля скучал между остановками, он разглядывал клумбу с цветами прямоугольной формы, выложенную по периметру квадратной плиткой. Ему стало интересно, какой максимальной толщины можно выложить периметр, если имеется t плиток. Неплохая задачка для программиста, а вы ее сможете решить? Формат ввода
Первая и вторая строки содержат по одному числу n и m(3<=n,m<=2*109) - размеры клумбы. Третья строка содержит количество имеющихся плиток t, 1<=t<=n*m

Формат вывода
Одно число - максимальную ширину периметра, который можно выложить из имеющихся в наличии плиток(что-то может и остаться)

Пример 1
Ввод Вывод
6
7
38
2
Пример 2
Ввод Вывод
5
20
46
1

Язык Python

Показать ответ
Ответ:
dgolovenko
dgolovenko
16.03.2023 22:52
Const
   N = 20;
Var
   A:array[1..N] of integer;
   i,M:integer;
Begin
Randomize;
Write('Исходный массив:');
M:=1;
For i:= 1 to N do
    Begin
    A[i]:=random(N+1);
    Write(' ',A[i]);
    if A[i] > A[M] then M:=i;
    End;
WriteLn;
WriteLn('Max = ',A[M],'[',M,']');
if M < N then
   For i:= M to N-1 do
       A[i]:=A[i+1];
M:=1;
For i:= 1 to N-1 do
    if A[i] < A[M] then M:=i;
WriteLn('Min = ',A[M],'[',M,']');
if M < N then
   For i:= M to N-1 do
       A[i]:=A[i+1];
Write('После удаления Max и Min:');
For i:= 1 to N-2 do
    Write(' ',A[i])
End.

Const
   N = 3;
   M = 4;
Var
   A,B,C:array[1..N,1..M] of shortint;
   i,j,Max,t:integer;
Begin
Randomize;
WriteLn('Матрица A:');
For i:= 1 to N do
    Begin
    For j:= 1 to M do
        Begin
        A[i,j]:=random(19)-9;
        Write(A[i,j]:2,' ')
        End;
    WriteLn
    End;
WriteLn('Матрица B:');
For i:= 1 to N do
    Begin
    For j:= 1 to M do
        Begin
        B[i,j]:=random(19)-9;
        Write(B[i,j]:2,' ');
        End;
    WriteLn
    End;
WriteLn('A+B:');
For i:= 1 to N do
    Begin
    For j:= 1 to M do
        Begin
        C[i,j]:=A[i,j]+B[i,j];
        Write(C[i,j]:3,' ');
        End;
    WriteLn
    End;
For i:= 1 to N do
    Begin
    Max:=i;
    For j:= i+1 to M do
        if C[1,j] > C[1,Max] then Max:=j;
    For j:= 1 to N do
        Begin
        t:=C[j,Max];
        C[j,Max]:=C[j,i];
        C[j,i]:=t
        End;
    End;
WriteLn('Матрица C:');
For i:= 1 to N do
    Begin
    For j:= 1 to M do
        Write(C[i,j]:3,' ');
    WriteLn
    End;
ReadLn
End.
0,0(0 оценок)
Ответ:
Lizunochek2329
Lizunochek2329
09.05.2020 05:18
#include <iostream>
#include <iomanip>
int main()
{
    using namespace std;
    const int N = 4;
    const int M = 4;
    int Y[N][M];

    //как-нибудь заполняем матрицу
    for (int i = 0; i < N; ++i)
        for (int j = 0; j < M; ++j)
            Y[i][j] = (i + 1) * (j + 1);

    //выведем её на экран
    for (int i = 0; i < N; ++i)
    {
        for (int j = 0; j < M; ++j)
            cout << setw(3) << Y[i][j];
        cout << endl;
    }
        
    //находим сумму элементов побочной диагонали
    int S = 0;
    for (int i = 0; i < N; ++i)
        for (int j = 0; j < M; ++j)
            if (j == M - 1 - i)
                S = S + Y[i][j];
    cout << "Sum of adverse diagonal of array: " << S << endl;

    //находим сумму всех элементов матрицы
    int Sum = 0;
    for (int i = 0; i < N; ++i)
        for (int j = 0; j < M; ++j)
            Sum = Sum + Y[i][j];
    cout << "Sum of all elements of array: " << Sum << endl;
    return 0;
}
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота