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*
Комментарий*

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

coalajk
tomogradandrey
ladykalmikova81
Герасимова107
Galina-3639220565
arutchevben64
Tomilova1686
Борисовна_Дмитриевич1003
Gennadievna bessonov
dimalihachew
Kuzminastia20038
сергеевич1958
format-l3364
nopel91668
Кирьяков-Крикунов