Даны два целых числа X и Y. Если X>Y, то вычислить произведение этих чисел, иначе сумму. Разработать схему алгоритма для решения этой задачи. Составить программу. Протестировать алгоритм на трех различных тестах (X>Y, X=Y и X
155
368
Ответы на вопрос:
var x,y,p,s:real;
begin
readln(x,y);
if x>y then writeln(x*y:0:0) else writeln(x+y:0:0);
end.
Объяснение:
"жадный" алгоритм // pascalabc.net 3.2, сборка 1417 от 28.03.2017 // внимание! если программа не работает, обновите версию! begin var k: =arr(1,2,5,10); // номиналы монет var m: =readarrinteger('кол-во монет по '+k.joinintostring+' руб: ',4); var n: =readinteger('сумма в купюрах, руб: '); if m.zip(k,(p,q)-> p*q).sum< n then begin // нехватка монет writeln('размен невозможен'); exit end; var s: =''; // для результатов for var i: =k.length-1 downto 0 do if (n> =k[i]) and (m[i]> 0) then begin // номинал участвует var t: =min(n div k[i],m[i]); // кол-во монет n: =n-k[i]*t; // остаток if s.length> 0 then s+=', '; s+=t+' по '+k[i]+' руб.'; end; if n< > 0 then writeln('размен невозможен') else writeln(s) end. примеры кол-во монет по 1 2 5 10 руб: 350 215 86 130 сумма в купюрах, руб: 1526 130 по 10 руб., 45 по 5 руб., 1 по 1 руб. кол-во монет по 1 2 5 10 руб: 500 146 0 38 сумма в купюрах, руб: 432 38 по 10 руб., 26 по 2 руб. кол-во монет по 1 2 5 10 руб: 10 20 30 40 сумма в купюрах, руб: 25000 размен невозможен
Популярно: Информатика
-
650646323.01.2020 16:05
-
obona0228.04.2021 21:09
-
litovka04.04.2020 10:23
-
милaна114.09.2021 07:22
-
schastlivaya99916.11.2020 15:12
-
Amina515507.10.2020 03:58
-
btrawee3406.12.2021 12:27
-
LizaKrem12.06.2020 16:11
-
nugumanovsalavp092yo06.04.2020 10:36
-
MsMerenberg8603.01.2020 22:55