В этом листке нельзя пользоваться условными инструкциями if
, циклами for
и while
. Также нельзя пользоваться тернарным оператором ? :
, функциями abs
,
fabs
и т.д. Единственное разрешенное действие арифметические операции.
Напишите программу, которая считывает значения двух переменных a и b, затем меняет их значения местами (то есть в переменной a должно быть записано то, что раньше хранилось в b, а в переменной b записано то, что раньше хранилось в a). Затем выведите значения переменных.
Ввод | Вывод |
---|---|
3 |
7 3 |
Примечание. Решением задачи не является такой код:
cin >> a >> b; cout << b << " " << a << endl;
Решите предыдущую задачу без использования дополнительной переменной.
Даны значения двух моментов времени, принадлежащих одним и тем же суткам: часы, минуты и секунды для каждого из моментов времени. Известно, что второй момент времени наступил не раньше первого. Определите, сколько секунд прошло между двумя моментами времени. Программа на вход получает три целых числа — часы, минуты, секунды, задающие первый момент времени и три целых числа, задающих второй момент времени. Выведите число секунд между этими моментами времени.
Ввод | Вывод |
---|---|
1 |
3661 |
1 |
50 |
В часах села батарейка, и они стали идти вдвое медленнее. Когда на часах было \(x_1\) часов \(y_1\) минут, правильное время было \(a_1\) часов \(b_1\) минут. Сколько времени будет на самом деле, когда часы в следующий раз покажут \(x_2\) часов \(y_2\) минут?
Программа получает на вход числа \(x_1\), \(y_1\), \(a_1\), \(b_1\), \(x_2\), \(y_2\) в указанном порядке. Все числа целые. Числа \(x_1\), \(a_1\), \(x_2\) — от 0 до 23, числа \(y_1\), \(b_1\), \(y_2\) — от 0 до 59.
Выведите два числа \(a_2\) и \(b_2\), определяющие сколько будет времени на самом деле, когда на часах будет \(x_2\) часов \(y_2\) минут.
Ввод | Вывод |
---|---|
12 |
10 36 |
12 |
14 0 |
За день машина проезжает \(n\) километров. Сколько дней нужно, чтобы проехать маршут длиной \(m\) километров?
Программа получает на вход числа \(n\) и \(m\).
Ввод | Вывод |
---|---|
700 |
2 |
700 |
3 |
\(n\) школьников делят \(k\) яблок “поровну”, то есть так, чтобы количество яблок, доставшихся любым двум школьникам, отличалось бы не более, чем на 1.
Программа получает на вход числа \(n\) и \(k\) и должна вывести количество школьников, которым достанется яблок меньше, чем некоторым из их товарищей.
Ввод | Вывод |
---|---|
7 |
5 |
7 |
0 |
Улитка ползет по вертикальному шесту высотой \(h\) метров, поднимаясь за день на \(a\) метров, а за ночь спускаясь на \(b\) метров. На какой день улитка доползет до вершины шеста?
Программа получает на вход натуральные числа \(h\), \(a\), \(b\), и должна вывести одно натуральное число. Гарантируется, что \(a>b\).
Ввод | Вывод |
---|---|
10 |
8 |
Имеется \(N\) кг металлического сплава. Из него изготавливают заготовки массой \(K\) кг каждая. После этого из каждой заготовки вытачиваются детали массой \(M\) кг каждая (из каждой заготовки вытачивают максимально возможное количество деталей). Если от заготовок после этого что-то остается, то этот материал возвращают к началу производственного цикла и сплавляют с тем, что осталось при изготовлении заготовок. Если того сплава, который получился, достаточно для изготовления хотя бы одной заготовки, то из него снова изготавливают заготовки, из них— детали и т.д.
Напишите программу, которая вычислит, какое количество деталей может быть получено по этой технологии из имеющихся исходно \(N\) кг сплава.
Программа получает на вход три натуральных числа \(N\), \(K\), \(M\), при этом \(K\ge M\), числа не превосходят \(10^{18}\).
Выведите одно число — количество деталей, которое может получиться по такой технологии.
Ввод | Вывод |
---|---|
10 |
4 |
13 |
3 |
14 |
4 |
13 |
2 |
1 |
0 |