#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;
}
Видеоурок
Текстовый урок
Тесты
Во к уроку
На предыдущих уроках мы подробно рассмотрели внутреннее устройство компьютера – его комплектующие и основные внутренние части. Однако для того, чтобы рассматривать современный компьютер как полноценное средство обработки информации (то есть устройство, выполняющее конкретные прикладные задачи), необходимо учесть также и его программное обеспечение, то есть все приложения и службы, установленные на данный компьютер. На сегодняшнем уроке вы познакомитесь с различными видами программного обеспечения, узнаете, для чего нужна та или иная программа и научитесь их устанавливать.
Введение
Что же такое программное обеспечение компьютера? Рассмотрим этот термин подробнее.
Программное обеспечение (ПО) – это все компьютерные программы, процедуры и соответствующая документация и данные, относящиеся к функционированию данной компьютерной системы.
Всё программное обеспечение можно разделить на следующие типы
Виды программного обеспечения
1. Системное программное обеспечение. Это такие программы, которые входят в состав операционной системы и являются составной ее частью. Обычно они обеспечивают управление компонентами компьютерной системы, такими как процессор, оперативная память, устройства ввода-вывода а также сетевое оборудование. Типичным примером для системной программы является драйвер. Драйвер– это компьютерная программа, при которой другие программы получают доступ к аппаратному обеспечению некоторого устройства (например, к принтеру, сканеру, видеокарте и т. д.). Драйверы являются неотъемлемой составляющей операционной системы – совокупность программ, организующих согласованную работу всех модулей компьютера.
2. Обслуживающие программы.К ним относятся те программы, которые выполняют вс обслуживающие либо сервисные функции, например архиваторы, антивирусы и программы для обслуживания жесткого диска компьютера. Программы такого типа также называют утилитами (от англ. utilize – «использовать»).
3. Прикладные программы –это обширный класс программ, предназначенный для решения отдельных определенных пользователем задач, связанных с обработкой данных в определенной области деятельности. К ним можно отнести, например, текстовые, графические, аудио, видео-редакторы, средства управления базами данных, обучающие, тестовые, игровые программы и т. д.
Большинство программ на сегодняшний день создаются с привязкой к конкретной операционной системе (например, Windows, Linux, Android, MacOS) и т. д. Этот факт необходимо обязательно учитывать при выборе той или иной программы.
Перед запуском программы ее нужно правильным образом инсталлировать, то есть установить на данный компьютер. Существуют специальные программы-инсталляторы, например Rpm для ОС Linux или Windows Installer для Windows. Очень часто программы-инсталляторы входят в состав операционной системы по умолчанию. Инсталлировать программу – означает установить (распаковать) все ее значимые файлы в соответствующие директории операционной системы. Для того чтобы программа инсталлировалась верно, она должна содержать так называемый дистрибутив. Дистрибутив программы (от англ. distribute – распределять) – это совокупность компонентов, необходимых для ее установки (инсталляции). Дистрибутив операционной системы обычно содержит в себе программы для начальной инициализации системы.