2. снова спиннеры денис тоже решил заняться производством и продажей спинеров, но он считает у спиннера может быть только три или четыре лопасти. у него есть ровно m лопастей, которые он может прикреплять к основаниям, и неограниченный запас оснований. он хочет изготовить несколько трехлопастных и несколько четрырехлопастных спиннеров так,чтобы использовать всем m лопастей . определите ,сколько спиннеров каждого вида он должен произвести. программа получает на вход одно целое положитльное число m< не превосходящее 2x10^9,- количество лопастей, которое есть у дениса. программа должна вывести два целых числа- количество спиннеров с 3 лопастями и количество спиннеров с 4 лопастями , которые должен произвести денис. если у есть несколько решений, нужно выести любое из них . если денис не может использовать ровно м лопастей для производства спиннеров , программа должна вывести два числа 0.

nazar6082005 nazar6082005    2   08.09.2019 23:40    5

Ответы
228dflbr 228dflbr  07.10.2020 01:57

Небольшое наблюдение: если Денис может использовать ровно 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;

}

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика