Задача e-olimp.com №67
Ссылка на засчитанное решение.
Условие:
При разрезании сыра в задаче «Сыр для Анфисы» у хозяина оставались куски сыра в виде прямоугольного параллелепипеда с разными целыми длинами сторон. Готовя новое блюдо из сыра для Анфисы хозяину приходилось разрезать эти куски на кубики со стороной 1. Какое наименьшее количество разрезов приходилось ему делать для того, чтобы разрезать заданные куски сыра, если он каждый раз разрезал один кусок сыра на две части.
Тесты
Входные данные | Выходные данные | ||
a | b | c | |
2 | 3 | 4 | 23 |
1 | 2 | 3 | 5 |
Код программы:
1 2 3 4 5 6 7 8 9 10 |
#include <iostream> #include <cmath> using namespace std; int main() { long A, B, C; cin >> A >> B >> C; cout << (A*B*C - 1); return 0; } |
Для запроса на выполнение нажать здесь.
Решение
При разрезании сторон a, b, c мы получаем a, b, c количество частей соответственно. Следовательно, при разрезании стороны A, мы выполняем [latex](a-1)[/latex] разрезов. Тогда, при разрезании стороны B, делаем [latex]a*(b-1)[/latex]; при разрезании стороны C — [latex]a*b*(c-1)[/latex] соответственно. Всего мы совершаем [latex](a-1)+a*(b-1)+a*b*(c-1)[/latex] разрезов. В итоге, получаем формулу [latex]a*b*c — 1[/latex].
Засчитано.
Только на будущее — имена переменных лучше начинить с маленькой (строчной) буквы.
Cпасибо. Исправлюсь)