Предмет: Информатика,
автор: Аноним
Денис тоже решил заняться производством и продажей спиннеров, но он считает, что у спиннера может быть только три или четыре лопасти. У него есть ровно M лопастей, которые он может прикреплять к основаниям, и неограниченный запас оснований. Он хочет изготовить несколько трехлопастных и четырехлопастных спиннеров так, чтобы использовать все M лопастей. Определите, сколько спиннеров каждого вида он должен произвести.
Программа получает на вход одно целое положительное число М,не превосходящее 2•10(9), — количество лопастей, которое есть у Дениса.
Программа должна вывести два целых числа — количество спиннеров с 3 лопастями и количество спиннеров 4 лопастями, которое должен произвести Денис. Если у задачи есть несколько решений, нужно вывести любое из них. Если Денис не может использовать ровно М лопастей для производства спиннеров, программа должна вывести два числа 0.
Ответы
Автор ответа:
0
Небольшое наблюдение: если Денис может использовать ровно 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;
}
Похожие вопросы
Предмет: Русский язык,
автор: milenaargunova
Предмет: Русский язык,
автор: MrRoma667
Предмет: Қазақ тiлi,
автор: aminaimambayeva34
Предмет: Математика,
автор: Аноним
Предмет: Математика,
автор: gabitovaag