Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
 Аватар для Raduga_
0 / 0 / 0
Регистрация: 23.04.2014
Сообщений: 3

Банкомат. В чем ошибка?

23.04.2014, 17:31. Показов 2111. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Лимит времени 2000/4000/4000/4000 мс. Лимит памяти 65000/65000/65000/65000 Кб.
Автор: Фёдор Меньшиков, ВГПУ.

Реальный текст программы.

ATM may contain notes of four kinds: 50, 100, 500 and 1000 rubles. Amount of notes of each kind at any moment is a non-negative integer number. 0 means that there are no notes of this kind. The lack of some notes may be filled with notes of smaller cost. E.g., if the client requested 500 rubles, but ATM has only four 100-ruble notes and two 50-ruble notes, the client will still get his cash.

Suppose that you requested a sum of cash, that is a positive integer number and divides by 50. ATM denied this request, since there is no way it could be done with notes available right now. Find the smallest sum greater than the requested one, such that ATM theoretically could give out.

Input
The first line of input contains a single positive number that divides by 50 and is less or equal to 3000. It's the sum that the ATM could not give out.
Output
Output the single number - the smallest sum greater than the requested one. If there is no such sum, output 0.

Input 1 Output 1
150 200


Перевод (корявенький)

Банкомат может содержать примечания четырех видов: 50, 100, 500 и 1000 рублей. Сумма примечаний каждого вида в любой момент - неотрицательное число целого числа. 0 средств, что нет никаких примечаний этого вида. Отсутствие некоторых примечаний может быть заполнено примечаниями меньшей стоимости. Например, если клиент просил 500 рублей, но у банкомата есть только четыре примечания за 100 рублей и два примечания за 50 рублей, клиент все еще получит свои наличные деньги.

Предположим, что Вы просили сумму наличных денег, которые являются положительным числом целого числа и делятся на 50. Банкомат отрицал этот запрос, так как нет никакого способа, которым это могло быть сделано с примечаниями, доступными прямо сейчас. Сочтите самую маленькую сумму больше, чем требуемая, такая, что банкомат теоретически мог выделить.

Ввод
Первая линия входа содержит единственное положительное число, которое делится на 50 и является меньше или равно 3000. Это - сумма, которую не мог выделить банкомат.
Вывод
Произведите единственное число - самая маленькая сумма, больше, чем требуемая. Если нет такой суммы, произведите 0.

Текст Программы
(Писала впервые, в Microsoft Visual Studio 2010 все условия выполняются вроде, но на сайте компилятор ругается,что либо что-то лишнее либо чего-то нет)


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
int main()
  {
    int const k1=50, k2=100, k3=500, k4=1000;
int a;
  cin >> a;
  {
if(((a>=3000)&&(a%50!=0))||((a>=3000)&&(a%100!=0))||(a<=50)|| ((a>=3000)&&(a%50!=0)&&(a%100!=0))||((a>=3000)&&(a%100==0)&&(a%50==0))||
    ((a>=3000)&&(a%100==0)&&(a%50!=0))||((a>=3000)&&(a%100!=0)&&(a%50==0))||((a%50!=0)&&(a%100!=0)))
    cout << '0'<< endl;
else
if ((a!=k2)&&(a!=k3)&&(a!=k4))
cout<<(a+k1)<<endl;
else 
  cout << '0'<< endl;
}
  }
________
___________________

Буду очень рада, если подскажите, что я не так сделала, постараюсь исправить и успеть защитить задачу, заранее благодарна)))
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.04.2014, 17:31
Ответы с готовыми решениями:

ошибка в проге "банкомат"
Помогите с ошибочкой в моей проге, там после нажатия на &quot;пополнить&quot; вылазиет не то число!!!!!!! Я уже запарился.... по-моему глупая...

Банкомат
Эта программка имитирует работу банкомата....есть баланс и есть сумма ...и две кнопки:снять и пополнить.....не получается связать кнопки с...

Банкомат
заданиеВ некотором государстве в обращении находятся банкноты определенных номиналов. Национальный банк хочет, чтобы банкомат выдавал любую...

7
619 / 218 / 51
Регистрация: 22.11.2010
Сообщений: 1,781
Записей в блоге: 3
23.04.2014, 18:09
Часть задачи понятна - процесс обналичивание электронного счета. Но входные данные вообще не понятно описаны. Что нужно?
0
 Аватар для Raduga_
0 / 0 / 0
Регистрация: 23.04.2014
Сообщений: 3
24.04.2014, 03:00  [ТС]
Supernatural, что можно сделать с входными данными?
и я сама через этот перевод не совсем разобралась, что именно нужно, я думаю что нужно искать минимальное значение, большее, чем запрашиваемая сумма...
поэтому за помощью и обратилась
0
619 / 218 / 51
Регистрация: 22.11.2010
Сообщений: 1,781
Записей в блоге: 3
24.04.2014, 19:14
Raduga_, как бы прежде чем просить помощь у кого-либо принято пытаться хотя бы понять суть задания. Есть мнение/вариант, что нужно описать работу банкомата при выдачи наличных денег с банковской карты.
0
 Аватар для Raduga_
0 / 0 / 0
Регистрация: 23.04.2014
Сообщений: 3
25.04.2014, 01:37  [ТС]
Supernatural, суть программы, чтобы рассчитать наименьшую сумму, которую банкомат теоретически может выдать, я решила что если прибавлять к запрашиваемой 50 (так как это наименьшая купюра банкомата), то будет верно, но видимо нет. Сейчас у меня есть догадки, что надо возможно перебирать возможные вариации сумм существующих купюр...
0
619 / 218 / 51
Регистрация: 22.11.2010
Сообщений: 1,781
Записей в блоге: 3
25.04.2014, 09:07
Цитата Сообщение от Raduga_ Посмотреть сообщение
которую банкомат теоретически может выдать
вообще, если ориентироваться по банкнотам центробанка, то минимальная бумажная денежная купюра - 10 рублей, но в банкомате минимальная-50, кажется(10тирублевые купюры ни разу не видел при выдаче). Отсюда следует, что возможно надо рассчитать, сколько минимальных купюр по 50 рублей может выдать банкомат при выдаче 50<x<3000.
0
15 / 15 / 6
Регистрация: 28.11.2013
Сообщений: 50
25.04.2014, 11:40
Найти все-таки надо найти наименьшую сумму, которая больше запрашиваемой. Но вот формулировка задания непонятна
0
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
25.04.2014, 12:44
Цитата Сообщение от Supernatural Посмотреть сообщение
вообще, если ориентироваться по банкнотам центробанка, то минимальная бумажная денежная купюра - 10 рублей
Бумажные 5 рублей ещё никто не отменял, хоть их сейчас в обращении и нет. Что касается задачи, то у неё есть чёткие условия, и соотносить их с реальной жизнью не следует.
C++
1
2
if(((a>=3000)&&(a%50!=0))||((a>=3000)&&(a%100!=0))||(a<=50)|| ((a>=3000)&&(a%50!=0)&&(a%100!=0))||((a>=3000)&&(a%100==0)&&(a%50==0))||
    ((a>=3000)&&(a%100==0)&&(a%50!=0))||((a>=3000)&&(a%100!=0)&&(a%50==0))||((a%50!=0)&&(a%100!=0)))
Если всё лишнее тут сократить, получится:
C++
1
if (a >= 3000 || a <= 50 || a % 50 != 0)
Если ещё учесть условия задачи, это всё получается эквивалентно:
C++
1
if (a == 3000 || a == 50)
50 -> 0 100
C++
1
2
3
4
if ((a!=k2)&&(a!=k3)&&(a!=k4))
cout<<(a+k1)<<endl;
else 
  cout << '0'<< endl;
100 -> 0 500
200 -> 250 500 (250 на одну пятидесятку больше, чем 200, а он даже 200 не модет выдать)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.04.2014, 12:44
Помогаю со студенческими работами здесь

Банкомат
Помогите пожалуйста!!! Банкомат – это автомат для выдачи наличных денег по кредитным пластиковым карточкам. В его состав входят...

Банкомат
Создать класс Банкомат и класс Наличная карта (поля: Фамилия, пароль карты, сумма на карте). В классе банкомат задать три карты, которые...

Банкомат
Всем привет. Есть задание: создать класс &quot;банкомат&quot; с реализацией функций банкомата. Есть моя кривая работа которую не могу доделать. ...

Создать банкомат
ЕТО УСЛОВИЕ!!! # снять покласть перевести # БД # имя $ пароль + # интерфесес # person =

Программа банкомат
Данный код полностью рабочий, но он как-то не красиво смотрится можно ли его переделать? #include &lt;iostream&gt; using namespace...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита табличной части. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru