#include <iostream> #include <clocale> using namespace std; int main() { setlocale(LC_ALL, "rus"); int a, b, c, min, max; cout << "Введите первое число: "; cin >> a; cout << "Введите второе число: "; cin >> b; cout << "Введите третье число: "; cin >> c; cout << "\nСумма трех чисел равна: " << a + b + c ; cout << "\nПроизведение трех чисел равно: " << a * b * c << endl; if (a > b && a > c) max = a; else if (b > a && b > c) max = b; else if (c > a && c > b) max = c; if (a < b && a < c) min = a; else if (b < a && b < c) min = b; else if (c < a && c < b) min = c; cout << "\nМинимальное значение среди трех чисел: " << min; cout << "\nМаксимальное значение среди трех чисел: " << max << endl; cout << endl; system("pause"); return 0; }
Что-то у меня не придумывается меньше, чем за 18 телодвижений.
1. Залил полный бак в 10-литровый 2. Перелил его в 9-литровый. В 10 остался 1 литр 3. 9 опустошил, теперь в нём пусто, а в 10 по-прежнему 1 л. 4. перелил 1 л в 9. Этот 1 литр - назовём его переходящим остатком.
Опять погнали те же 4 телодвижения, по результатам переходящим остатком будет 2 литра.
Ещё раз - и получили переходящий остаток 3 литра Ещё раз, и получили 4 литра. К этому моменту сделали этот цикл уже 4 раза, итого 4*4 = 16 движений.
Опять делаем этот же цикл, но достаточно двух первых операций, и в 10-литровом баке получаем остаток 5 литров.
Итого, 16+2 = 18.
Ну, у меня так получилось. Может кто лучше придумает.
#include <clocale>
using namespace std;
int main() {
setlocale(LC_ALL, "rus");
int a, b, c, min, max;
cout << "Введите первое число: ";
cin >> a;
cout << "Введите второе число: ";
cin >> b;
cout << "Введите третье число: ";
cin >> c;
cout << "\nСумма трех чисел равна: " << a + b + c ;
cout << "\nПроизведение трех чисел равно: " << a * b * c << endl;
if (a > b && a > c) max = a;
else if (b > a && b > c) max = b;
else if (c > a && c > b) max = c;
if (a < b && a < c) min = a;
else if (b < a && b < c) min = b;
else if (c < a && c < b) min = c;
cout << "\nМинимальное значение среди трех чисел: " << min;
cout << "\nМаксимальное значение среди трех чисел: " << max << endl;
cout << endl;
system("pause");
return 0;
}
1. Залил полный бак в 10-литровый
2. Перелил его в 9-литровый. В 10 остался 1 литр
3. 9 опустошил, теперь в нём пусто, а в 10 по-прежнему 1 л.
4. перелил 1 л в 9.
Этот 1 литр - назовём его переходящим остатком.
Опять погнали те же 4 телодвижения, по результатам переходящим остатком будет 2 литра.
Ещё раз - и получили переходящий остаток 3 литра
Ещё раз, и получили 4 литра. К этому моменту сделали этот цикл уже 4 раза, итого 4*4 = 16 движений.
Опять делаем этот же цикл, но достаточно двух первых операций, и в 10-литровом баке получаем остаток 5 литров.
Итого, 16+2 = 18.
Ну, у меня так получилось. Может кто лучше придумает.