
Вопрос задан 04.10.2023 в 02:26.
Предмет Информатика.
Спрашивает Кенжеалы Фарида.
Спиннер – модная игрушка c подшипником в основании, к которому прикреплены лопасти. Афанасий открыл
бизнес по производству спиннеров. Он выяснил, что за спиннер,у которого N лопастей, покупатели готовы платить A + B × N рублей, но при этом покупатель не станет покупать спиннер, если его цена будет выше C рублей. Определите максимальное число лопастей спиннера, который согласится приобрести покупатель.Программа получает на вход три числа A, B, C (стоимость основания спиннера,стоимость одной лопасти и максимальная стоимость всего спиннера). Все числа – целые положительные, не превосходящие 20000000000 , при этом A ≤ C.Программа должна вывести одно число – максимальное число лопастей спиннера.

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

Отвечает Турченко Маргарита.
{Целевой язык не указан, приведу пример на Haskell}
Цена вычисляется как
C - максимальная цена, которую мы можем себе позволить.
Поэтому , где 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






Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Для решения этой задачи мы можем воспользоваться простым циклом, увеличивая число лопастей спиннера от 1 до максимально возможного и проверяя, не превысит ли цена спиннера максимально допустимую стоимость C. Вот пример решения на Python:
pythondef 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, и программа вернет максимальное число лопастей спиннера, которое покупатель согласится приобрести.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili