
Канат, длина которого измеряется в удавах, слониках, мартышках и попугаях(вводится с клавиатуры),
разрезали пополам. Найдите длину половины каната в удавах, слониках, мартышках и попугаях, если 1 удав = 3 слоника, 1 слоник = 4 мартышки, а 1 мартышка = 8 попугаев. Ни одно животное при решении задачи не должно постодать.

Ответы на вопрос

Но не суть. Ответ ниже..
Так как язык программирования не указан, написал на C++
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
#include <iostream>
using namespace std;
int main() {
setlocale(LC_ALL, "Russian");
size_t boas, elephants, monkeys, parrots;
bool flag = false;
// Вводим данные
cout << "=====================" << endl;
cout << "Введите длину каната" << endl;
cout << "=====================" << endl;
cout << "Удавов: " ; cin >> boas;
cout << "Слоников: " ; cin >> elephants;
cout << "Мартышек: " ; cin >> monkeys;
cout << "Попугаев: " ; cin >> parrots;
cout << endl << endl;
// Меняем некоторых животных поменьше на животных побольше
// Например, 7 Мартышек можно представить как 1 Слоника и 3 Мартышки
monkeys += parrots / 8; parrots %= 8;
elephants += monkeys / 4; monkeys %= 4;
boas += elephants / 3; elephants %= 3;
// Теперь начинаем делить. Если При делении нужно располовинить какое-либо животное,
// лучше просто заменить его на соответствующее животное по-меньше
// Например, если канат длиной в 3 Слонёнка, то мы при делении на 2 могут возникнуть проблемы.
// А вот если заменить одного слоненка на 4 Мартышек и делить уже 2 Слоников и 4 Мартышки,
// то получится 1 Слоненок и 2 Мартышки
elephants += 3*(boas % 2); boas /= 2;
monkeys += 4*(elephants % 2); elephants /= 2;
parrots += 8*(monkeys % 2); monkeys /= 2;
if (parrots % 2) {
flag = true;
cout << "Количество попугаев НЕЧЕТНО!! Один может пострадать!!" << endl << endl;
}
parrots /= 2;
// Вывод результата
cout << "============================" << endl;
cout << "Вывод длины деленного каната" << endl;
cout << "============================" << endl;
cout << "Удавов: " << boas << endl;
cout << "Слоников: " << elephants << endl;
cout << "Мартышек: " << monkeys << endl;
cout << "Попугаев: " << parrots; if (flag) cout << " + 0.5 (СКОРУЮ СЮДА!!)";cout << endl;
cout << endl << endl;
system("pause");
return 0;
}



Для решения задачи, сначала необходимо выразить все величины в одной единице измерения. Пусть длина каната равна Х удавам. Тогда, используя данные из условия задачи, получим:
1 удав = 3 слоника 1 слоник = 4 мартышки 1 мартышка = 8 попугаев
Теперь, чтобы найти длину половины каната в каждом животном, разделим Х на 2:
Длина половины каната в удавах: Х/2 Длина половины каната в слониках: (Х/2) * (1 удав / 3 слоника) = Х/6 Длина половины каната в мартышках: (Х/2) * (1 удав / 3 слоника) * (1 слоник / 4 мартышки) = Х/24 Длина половины каната в попугаях: (Х/2) * (1 удав / 3 слоника) * (1 слоник / 4 мартышки) * (1 мартышка / 8 попугаев) = Х/192
Таким образом, длина половины каната в удавах равна Х/2, в слониках - Х/6, в мартышках - Х/24, а в попугаях - Х/192.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili