C++ (оператор множественного выбора switch) написать программу, в которой пользователь вводит целое число k, а на экран выдается фраза "мы нашли k грибов в лесу", согласовав окончание слова "гриб" с числом k.
// 1 гриб // 2-4 гриба // 5-10 грибов // 11-20 грибов исключение // 21 гриб // 22-24 гриба // 25-30 грибов // 31 гриб // 32-34 гриба // 35-40 грибов // 41 гриб // 42-44 гриба // 45-50 грибов // 51 гриб как видим из вышеизложенного, мы должны только запрограммировать окончание первого десятка и исключение 11-20, которое будет портить нам малину, т.к. там одно окончание будет. А остальное берем целочисленный остаток от деления на 10, и добавляем нужное окончание.
Берем третьи байты и переводим в двоичную систему счисления:добавим в начале нулей, чтобы получилось 8 цифр. ← ← найдем маску. запишем с столбик. если элементы одинаковые, ставим соответствующее число, если элементы разные, ставим крестик: 00000101 00011101 000xx101 ← маска т.к. по правилу в маске, сначала идут единицы, переместим их в начало: 11xx0000 если бы по условию, надо было бы найти наименьшее возможное значение, то мы бы заменяли крестики(х) на нули. т.к. по условию необходимо наибольшее возможное значение, подставляем вместо крестиков(x), единицу и переведем в десятичную систему счисления:
// 2-4 гриба
// 5-10 грибов
// 11-20 грибов исключение
// 21 гриб
// 22-24 гриба
// 25-30 грибов
// 31 гриб
// 32-34 гриба
// 35-40 грибов
// 41 гриб
// 42-44 гриба
// 45-50 грибов
// 51 гриб
как видим из вышеизложенного, мы должны только запрограммировать окончание первого десятка и исключение 11-20, которое будет портить нам малину, т.к. там одно окончание будет.
А остальное берем целочисленный остаток от деления на 10, и добавляем нужное окончание.