В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
1Booooooooooom1
1Booooooooooom1
26.12.2020 22:44 •  Информатика

Сообщение «Привет, участникам международного конкурса инфознайка для учащихся 8-9 классов!» закодировано с КОИ-8. Из этого сообщения удалили одно слово так, чтобы форматирование оставшейся части было верным (между словами может быть только один пробел, знаки препинания «прижаты» к словам, стоящим от них слева). После чего информационный объем сообщения уменьшился на 9 байт. Какое слово было удалено?

Показать ответ
Ответ:
отличница474
отличница474
29.05.2023 16:45

{Целевой язык не указан, приведу пример на Haskell}

Цена вычисляется как Price = A + B \times N

C - максимальная цена, которую мы можем себе позволить.

Поэтому N = \max \Leftrightarrow N = (C - A) div B, где div - оператор целочисленного деления.

Кодmodule Spinner (spinner, maybeTo) whereimport Control.Monad.Fail as MFail (MonadFail, fail) import System.IO (hFlush, stdout)import Text.Read (readMaybe)import Data.Maybe (maybe)maybeTo :: (MonadFail m) => Maybe b -> String -> m bmaybeTo Nothing msg = MFail.fail msgmaybeTo (Just a) _ = return aspinner :: IO ()spinner = do    putStr "Enter an A: "    hFlush stdout    maybeA <- fmap readMaybe getLine :: IO (Maybe Int)    a <- maybeTo maybeA "It's not an Int"    putStr "Enter an B: "    hFlush stdout    maybeB <- fmap readMaybe getLine :: IO (Maybe Int)    b <- maybeTo maybeB "It's not an Int"    putStr "Enter an C: "    hFlush stdout    maybeC <- fmap readMaybe getLine :: IO (Maybe Int)    c <- maybeTo maybeC "It's not an Int"    maybe (putStrLn "You can't use 0 with B var!")            (putStrLn . ("The maximum spinner's levers number is  " ++) . show)            (makeNumber a b c)    putStrLn ""makeNumber :: Int -> Int -> Int -> Maybe Int    makeNumber _ 0 _ = NothingmakeNumber a b c = Just $ div (c - a) b
Спиннер – модная игрушка c подшипником в основании, к которому прикреплены лопасти. Афанасий открыл
Спиннер – модная игрушка c подшипником в основании, к которому прикреплены лопасти. Афанасий открыл
Спиннер – модная игрушка c подшипником в основании, к которому прикреплены лопасти. Афанасий открыл
0,0(0 оценок)
Ответ:
JANAAAAAA
JANAAAAAA
29.05.2023 16:45

Произведем вывод формулы расчета количества лопастей:

S = A + B \cdot N

S_{max} = C

C = A + B \cdot N

N = (C - A) / B

Так как все операнды целые числа, мы имеем целочисленное деление и целое число в результате. Это сравнимо с округлением вниз, поэтому С по стоимости мы не перепрыгнем.

Код:

#include <iostream>

long long calculate_spin_number(

       long long A,

       long long B,

       long long C

) {

   return std::max((C - A) / B, 0ll);

}

int main () {

   long long A, B, C;

   std::cin >> A >> B >> C;

   std::cout << calculate_spin_number(A, B, C) << std::endl;

   return 0;

}

Функция calculate_spin_number() рассчитывает количество лопастей по параметрам A, B, C.

(!!) Внимание! Мы не можем использовать int или unsigned int для хранения чисел такого размера как 20000000000. Нужно использовать long или long long.

===========================================================

Если ответ удовлетворил, не забудь отметить его как "Лучший".

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота