burtsev3339
?>

Өңдеудің кіріктірілген ортасында бағдарламаның кодын жащыңыз.

Информатика

Ответы

axo-geo

{Целевой язык не указан, приведу пример на 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 подшипником в основании, к которому прикреплены лопасти. Афанасий открыл
ajuli2

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

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.

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

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

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Өңдеудің кіріктірілген ортасында бағдарламаның кодын жащыңыз.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

reinish23
Valeria123864531
Zelinskaya-Andrei
ТигранКалмыкова
Максим
fygasika
eremenkou
зырянов_Юрьевна378
romka1210
Natalimis416024
ktatarinova
severbykova
astenSA
natakrechko
elenarumack