Вопрос задан 04.10.2023 в 02:26. Предмет Информатика. Спрашивает Кенжеалы Фарида.

Спиннер – модная игрушка c подшипником в основании, к которому прикреплены лопасти. Афанасий открыл

бизнес по производству спиннеров. Он выяснил, что за спиннер,у которого N лопастей, покупатели готовы платить A + B × N рублей, но при этом покупатель не станет покупать спиннер, если его цена будет выше C рублей. Определите максимальное число лопастей спиннера, который согласится приобрести покупатель.Программа получает на вход три числа A, B, C (стоимость основания спиннера,стоимость одной лопасти и максимальная стоимость всего спиннера). Все числа – целые положительные, не превосходящие 20000000000 , при этом A ≤ C.Программа должна вывести одно число – максимальное число лопастей спиннера.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Турченко Маргарита.

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

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

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

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

Код

  • module Spinner (spinner, maybeTo) where
  • import 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 b
  • maybeTo Nothing msg = MFail.fail msg
  • maybeTo (Just a) _ = return a
  • spinner :: 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 _ = Nothing
  • makeNumber a b c = Just $ div (c - a) b




0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения этой задачи мы можем воспользоваться простым циклом, увеличивая число лопастей спиннера от 1 до максимально возможного и проверяя, не превысит ли цена спиннера максимально допустимую стоимость C. Вот пример решения на Python:

python
def max_lopasti(A, B, C): max_lopasti = 0 for lopasti in range(1, C // B + 1): cena = A + B * lopasti if cena <= C: max_lopasti = lopasti else: break return max_lopasti # Ввод параметров спиннера A, B, C = map(int, input().split()) # Вычисление максимального числа лопастей спиннера max_lopasti = max_lopasti(A, B, C) # Вывод результата print(max_lopasti)

Вызывайте функцию max_lopasti(A, B, C) с нужными параметрами A, B и C, и программа вернет максимальное число лопастей спиннера, которое покупатель согласится приобрести.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос