Есть ответ 👍

Установите соответствие 4
Измерение -
яркость
Внешнего света
Измерение - свет
4
Измерение -
яркость
отраженного
света​

126
449
Посмотреть ответы 1

Ответы на вопрос:

BC122
4,7(24 оценок)

Такой вариант на простом паскале со стратегией жадность 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.

Популярно: Информатика