М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
паксуха
паксуха
03.05.2022 03:57 •  Информатика

Программирование C++. За задание Программа должна решать уравнение.


Программирование C++. За задание Программа должна решать уравнение.

👇
Открыть все ответы
Ответ:
1Айжан11
1Айжан11
03.05.2022

#include <iostream>

typedef long long   ll;

using namespace std;

bool ll_is_valid(ll t, ll N, ll x, ll y)

{

return  t / x + (t - x) / y >= N;

}

ll f(ll N, ll x, ll y)

{

   ll R = 1;

   while (!ll_is_valid(R,N,x,y)) R *= 2;

ll L = R / 2;

while(R - L > 1)

{

 ll M   =   (L + R) / 2;

 

 if (!ll_is_valid(M,N,x,y)) {L = M;}

 else {R = M;}

}

return  R;

}

int  main()

{

ll N,x,y;

cin >> N >> x >> y;

if(x > y) swap( x, y );  

cout << f(N, x, y) <<  std::endl;

}

4,4(89 оценок)
Ответ:
//pascal //1) var   a: array[1..5, 1..8] of integer;   i, j: byte;   sumr, sumc: integer; begin   randomize;   writeln('исходный массив': 28);   for i : = 1 to 5 do   begin       for j : = 1 to 8 do       begin           a[i, j] : = random(61)-30;           write(a[i,j]: 5);           if i = 3 then sumr : = sumr + a[i, j];           if j = 5 then sumc : = sumc + a[i, j];       end;   writeln;   end;   writeln('сумма элементов 5 столбца = ', sumc);   writeln('сумма элементов 3 строки = ', sumr); end.//2) var   a: array[1..5, 1..8] of integer;   i, j: byte;   suma, sumb, countv, countg: integer; begin   randomize;   writeln('исходный массив': 28);   for i : = 1 to 5 do   begin       for j : = 1 to 8 do       begin           a[i, j] : = random(300)-150;           write(a[i,j]: 5);           if ((i = 5) and (a[i, j] < 0)) then suma : = suma + a[i, j];           if ((j = 4) and (a[i, j] < 100)) then sumb : = sumb + a[i, j];           if ((i = 4) and (a[i, j] < 5)) then countv : = countv + 1;           if ((j = 2) and (a[i, j] > 15)) then countg : = countg + 1;       end;   writeln;   end;   writeln('сумма отрицательных 5 строки = ', suma);   writeln('сумма меньших 100 4-ого столбца = ', sumb);   writeln('количество меньших 5 4-ой строки = ', countv);   writeln('количество ненулевых, больших 15 2-ого столбца = ', countg); end.
4,8(83 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ