Денис тоже решил заняться производством и продажей спиннеров, но он считает, что у спиннера может быть только три или четыре лопасти. у него есть ровно m лопастей, которые он может прикреплять к основаниям, и неограниченный запас оснований. он хочет изготовить несколько трехлопастных и четырехлопастных спиннеров так, чтобы использовать все m лопастей. определите, сколько спиннеров каждого вида он должен произвести. программа получает на вход одно целое положительное число м,не превосходящее 2•10(9), — количество лопастей, которое есть у дениса. программа должна вывести два целых числа — количество спиннеров с 3 лопастями и количество спиннеров 4 лопастями, которое должен произвести денис. если у есть несколько решений, нужно вывести любое из них. если денис не может использовать ровно м лопастей для производства спиннеров, программа должна вывести два числа 0.

alexkiop76 alexkiop76    1   08.09.2019 23:00    17

Ответы
nusaba55 nusaba55  07.10.2020 01:55

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

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