
Аким
4 год назад
Задание 2. Снова СпиннерыДенис тоже решил заняться производством и продажей спинеров, но он считает у спиннера может быть только три или четыре лопасти. У него есть ровно M лопастей, которые он может прикреплять к основаниям, и неограниченный запас оснований. Он хочет изготовить неКак узнать сколько трехлопастных и неКак узнать сколько четрырехлопастных спиннеров так,чтобы использовать всем M лопастей . Определите ,Как узнать сколько спиннеров каждого вида он должен произвести.Программа получает на вход одно целое положитльное число M< не превосходящее 2x10^9,- количество лопастей, которое есть у Дениса. Программа должна вывести два целых числа- количество спиннеров с 3 лопастями и количество спиннеров с 4 лопастями , которые должен произвести Денис. Если у задачи есть неКак узнать сколько решений, нужно выести любое из них . Если Денис не может использовать ровно М лопастей для производства спиннеров , программа должна вывести два числа 0.
ОТВЕТЫ

Daniela
Oct 24, 2020
Небольшое наблюдение: если Денис может использовать ровно M лопастей, то он может использовать их так, чтобы четырёхлопастных спиннеров было не больше двух. (Если их три или больше, то каждые три четырёхлопастных спиннера можно поменять на 4 трёхлопастных).
Код (C++)
#include <iostream>
int main() {
long long M;
std::cin >> M;
for (int f = 0; f < 3 && f * 4 <= M; f++) {
if ((M - f * 4) % 3 == 0) {
std::cout << (M - f * 4) / 3 << " " << f;
return 0;
}
}
std::cout << "0 0";
return 0;
}
375
Смежные вопросы: