Сколько различных восьмибуквенных слов можно сотавить в двоичном алфавите?
205
283
Ответы на вопрос:
Такой вариант на простом паскале со стратегией жадность 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.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
Sasha123098105.02.2023 21:49
-
Pantiik04.10.2020 05:11
-
помогите117010.07.2020 15:59
-
kunicyna180517.05.2022 12:55
-
исл524.06.2020 17:11
-
zhekabigboss01.02.2023 21:37
-
natali3117408.01.2022 08:31
-
АндрейВоробейtop21.04.2023 07:05
-
roma9jko26.12.2020 13:21
-
sashakesha200624.12.2021 14:12
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.