Другие языки программирования и технологии

Любая сумма денег более 7 руб ( целые числа), рахменять на монеты по 5 руб и 3 руб.

Помогите, пожалуйста! Программа нужна на basic
Желательно оформление:
10 REM..
20 INPUT "INPUT....
Я бы сделал немножко по-другому: определил бы остаток от деления на 5, а затем:
1 Если остаток=0,то вся сумма - 5-ками
2 Если остаток=1,то две 3-ки (5+1), а остальные - 5-ками
3 Если остаток=2,то четыре 3-ки (10+2), а остальные - 5-ками
4 Если остаток=3,то одна 3-ка (0+3), а остальные - 5-ками
5 Если остаток=4,то три 3-ки (5+4), а остальные - 5-ками

Без номеров:
INPUT S
O=S-INT(S/5)*5
IF O=0 THEN N3=0
IF O=1 THEN N3=2
IF O=2 THEN N3=4
IF O=3 THEN N3=1
IF O=4 THEN N3=3

N5=(S-3*N3)/5

PRINT N3, " ПО 3 РУБЛЯ, ", N5, " ПО 5 РУБЛЕЙ"

Только не перепутайте: в IF слева от знака равенства стоит буква O (от слова Остаток), а не ноль. Можно было бы ещё ELSE добавить, но мне лениво вспоминать BASIC. И так работать будет.
Валера Шерченков
Валера Шерченков
14 270
Лучший ответ
Валера Шерченков На всякий случай: здесь N3 и N5 - не суммы, а количество соответствующих купюр.
Валера Шерченков Маленький множитель 5 забыл - исправил. Проверил - работает.
Константин Мидин Ну, спасибо, но правильный ответ выглядит так:
5 CLS
10 REM
20 INPUT "INPUT N"; N
30 FOR T=o TO N
40 FOR P=0 TO N
50 IF 3*T+5*P=N tHEN PRINT "3 RUB"; T, "5 RUB" ; P
60 NEXT P
70 NEXT T
вот и все
Жадный алгоритм. Задача о размене денег | Форум
programmersforum.ru›showthread.php?t=117247
17 октября 2010 Например. имеются купюры номиналами: 1руб 5руб 10 руб 50 руб 100 руб 500 руб 1000 руб 5000 руб. нужно разменять сумму например 5190руб.
17 октября 2010 То, что сумма целое число - может и не помочь! Ладно. не хотите делать проверку - не делайте.
Николай Минин
Николай Минин
89 672
Васика не помню. Алгоритм такой: вычитаем по 3 пока на остаток от деления на 5 нацело не станет делиться. остаток пятерками добиваем.
Артём Иванов
Артём Иванов
25 516
Вот еще вариант без остатков деления
Но на паскале. Захочешь - разберешься.
Но оптимально как у Сухотина - самое шустрое будет и от суммы не зависеть.

write('Сумма к размену, руб ');
readln(s);
i:=1;j:=0;
while (s-(i*5+j*3))<>0 do
begin
if (s-(i*5+j*3))<3 then
begin
dec(i) ;
inc(j);
end
else
if (s-(i*5+j*3))>4 then inc(i) else inc(j);
end;
writeln('5 руб - ',i,'шт');
writeln('3 руб - ',j,'шт');
Дмитрий Ильин
Дмитрий Ильин
22 439
круть поцык сказал
сумма к размену руб readln(s) 9050)( super
Merei Sailaubek
Merei Sailaubek
243
write('Сумма к размену, руб ');
readln(s);
i:=1;j:=0;
while (s-(i*5+j*3))<>0 do
begin
if (s-(i*5+j*3))<3 then
begin
dec(i) ;
inc(j);
end
else
if (s-(i*5+j*3))>4 then inc(i) else inc(j);
end;
writeln('5 руб - ',i,'шт');
writeln('3 руб - ',j,'шт');
Константин Мидин это Паскаль?)

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