А кто будет писать сначалаПасиба, но текст не правильный!! :icon_neut
PHP:
program uravnenie;
uses crt;
Var
a,b,c,d: real;
begin
А кто будет писать сначалаПасиба, но текст не правильный!! :icon_neut
program uravnenie;
uses crt;
Var
a,b,c,d: real;
begin
Я математику толком не знаю.Хочется сказать одно, без знания математики можно даже не смотреть в сторону программирования.
такого типа - эт интересная задача не низкого уровня на динамическое программирование3.Зделана покупка от 1 копейки до 1 грн. Написать прогу каторая выдавалабы здачу камейками большего достоинцтва.
Cделана покупка от 1 копейки до 1 грн. Написать прогу каторая выдавалабы здачу капейками большего достоинцтва.
Задача-то интересная, но один из главных принципов решения любых задач - прочитать условие (см. выше). Если решить задачу "интересно", в данном случае она не выполнит условие - работодатель скажет "@#%@#, что это ты мне принес?!".такого типа - эт интересная задача не низкого уровня на динамическое программирование
решение там интересное, но я его увы не помню
если просто брать пока возможно монеты наибольшего номинала можно получить НЕ ПРАВИЛЬНОЕ решение
ох меня однажды нагрели на такой задаче
контрольный пример для конкретно этой задачи не знаю,
но вот к примеру у нас есть монеты номиналом 5, 10, 20 и 25 и нужно выложить 40 копеек - что зделает алгоритм влом подбирающий наибольшие значение пока возможно? - он выдаст нам 25 + 10 + 5; хотя правильное решение 20 + 20!
program Project;
{$APPTYPE CONSOLE}
uses
SysUtils;
const
coins: array[1..6] of byte=(50,25,10,5,2,1);
var
count :array [1..6] of byte;
buf:string;
i,amount:integer;
begin
write('Enter amount :');
readln(buf);
Val(buf,amount,i);
if amount<0 then i:=1;
//проверка введенных данных
while i<>0 do
begin
write('Enter amount (again):');
readln(buf);
Val(buf,amount,i);
if amount<0 then i:=1;
end;
for i:=1 to 6 do
begin
count[i]:=amount div coins[i];
amount:=amount - coins[i]*count[i];
writeln(IntToStr(coins[i])+#9+IntToStr(count[i]));
end;
//проверка остатка
if amount<>0 then writeln(#13+'error '+IntToStr(amount));
writeln('Press Enter ...');
readln;
end.