Adno1578
?>

Условия: в некотором государстве в обращении находятся банкноты определенных номиналов. национальный банк хочет, чтобы банкомат выдавал любую запрошенную сумму при минимального числа банкнот, считая, что запас банкнот каждого номинала неограничен. национальному банку решить эту . входные данные: первая строка входных данных содержит натуральное число n, 0

Информатика

Ответы

gunel1988alieva
Такой вариант на простом паскале со стратегией жадность var       n, s, i: integer;       x: array[1..100]of integer;       answer: string; begin       readln(n);       for i : = 1 to n do               read(x[i]);       readln(s);           answer : = inttostr(s) + ' = ';       for i : = n downto 1 do       begin               answer : = answer + inttostr(s div x[i]) + '*' + inttostr(x[i]);               s : = s mod x[i];               if i > 1 then                       answer : = answer + ' + ';       end;           if s < > 0 then               writeln('no')       else               writeln(answer); end. более полный и правильный вариант решения, но и куда более сложный //pascalabc.net 3.1 сборка 1200 uses system.collections.generic; uses system; var       x : = new list< integer> ;       c : = new list< tuple< string, integer> > ; procedure getparcelling(sum, step: integer; coefficients: string; count: integer); begin       if step > = x.count then begin               if sum = 0 then c.add((coefficients, count));               exit;       end;       if step < 0 then step : = 0;             for var j : = 0 to (sum div x[step]) do       begin               var s : = '';               if j > 0 then begin                       if step > 0 then s += ' + ';                       s += inttostr(j) + '*' + inttostr(x[step]);               end;               getparcelling(sum - x[step] * j, step + 1, coefficients + s, count + j);       end; end; begin       x : = readarrinteger('x: ', readinteger('n =';       var sum : = readinteger('sum =');             getparcelling(sum, 0, '', 0);       if c.count = 0 then               writeln('no')       else begin               var min : = c.min(cc -> cc.item2);               println(c.where(cc -> cc.item2 = min));       end; end.
saltikovaK.S.1482
#include < bits/stdc++.h> using namespace std ; main() { string s; cin > > s; int cnt = 0, ans = 0; for(int i = 0; i < s.size(); i++)       if(s[i] == '(')             cnt++;       else               if(cnt)               {                       cnt--;                       ans+=2;               }       cout < < ans;   }
ckiras9

var a,b,c,d,min: real;

    flag: boolean;

begin

    flag: =true;

    writeln('enter a, b, c, d numbers: ');

    readln(a,b,c,d);

    if (a=d) then begin

      writeln('a equals to d! ');

      flag: =false;

      min: =a;

    end;

    if (b=d) then begin

      writeln('b equals to d! ');

      flag: =false;

      if (b< min) then min: =b;

    end;

    if (c=d) then begin

      writeln('c equals to d! ');

      flag: =false;

      if (c< min) then min: =c;

    end;

    if flag then writeln('max difference: ',d-min);

end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Условия: в некотором государстве в обращении находятся банкноты определенных номиналов. национальный банк хочет, чтобы банкомат выдавал любую запрошенную сумму при минимального числа банкнот, считая, что запас банкнот каждого номинала неограничен. национальному банку решить эту . входные данные: первая строка входных данных содержит натуральное число n, 0
Ваше имя (никнейм)*
Email*
Комментарий*

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

Elizavetaborisovna1992
Klochkov malakhov1974
hotnuts
mantseva
Александра440
Александр Елена1290
muziumednogorsk
olgakuz00261
al2nik2ol
Yekaterina358
oserdyuk41
Panda062000
megapolisgroup
впвыпвып-Зуйков629
lenacari