М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Lkiozra
Lkiozra
23.12.2021 20:41 •  Информатика

Винни-пух испек для гостей пирог. к нему могут прийти либо 6, либо 8 зверей. на какое наименьшее число кусков (не обязательно равных) пуху нужно заранее разрезать пирог так, чтобы его можно было поделить поровну как между 6, так и между 8 гостями? гостю можно давать и больше одного куска.

👇
Ответ:
Lina300333
Lina300333
23.12.2021
24 куска т.к. кратно 6 и кратно 8
4,8(62 оценок)
Открыть все ответы
Ответ:
dashak20022
dashak20022
23.12.2021

Я вот тоже Вышел порешать =).

var p: array [1..1000] of record

slovo:string;

k:integer;

end;

N,i,j,max:integer;

c:char;

a:array [97..122] of integer;

BEGIN

max:=0;

readln(N);

for i:=1 to N do

begin

p[i].slovo:='';

repeat

read(c);

p[i].slovo:=p[i].slovo+c

until c=' ';

readln(p[i].k);

for j:=1 to length(p[i].slovo) do

if (ord(p[i].slovo[j])>=97) and (ord(p[i].slovo[j])<=122) then

a[ord(p[i].slovo[j])]:=a[ord(p[i].slovo[j])]+p[i].k;

end;

for j:=97 to 122 do

if a[j]>max then

max:=a[j];

write(max);

end.

4,5(6 оценок)
Ответ:
hamidovapti
hamidovapti
23.12.2021
1. Задача решается с стека (алгоритм Дейкстры для обработки обратной польской записи). Предполагается, что во вводимой строке содержится корректное выражение, удовлетворяющее условиям задания.

// PascalABC.NET 3.3, сборка 1555 от 21.10.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var w:=ReadlnString.ToWords;
  var St:=new Stack <integer>;
  var r:=0;
  foreach var t in w do
    if t[1].IsDigit then St.Push(t.ToInteger)
    else begin
      var a:=St.Pop;
      var b:=St.Pop;
      case t[1] of
      '+':St.Push(a+b);
      '-':St.Push(b-a);
      '*':St.Push(a*b)
      end;
    end;
  Writeln(St.Pop) 
end.

Контрольный пример
8 9 + 1 7 - *
-102

2. Задача крайне просто решается при регулярного выражения с рекурсией. Фактически вводить количество шаров не нужно, поэтому после ввода оно отбрасывается.

// PascalABC.NET 3.3, сборка 1555 от 21.10.2017
// Внимание! Если программа не работает, обновите версию!

begin
  Writeln(ReadlnString.ToWords.Skip(1).JoinIntoString('').
      MatchValue('(.)\1{2,}').Length);
end.

Контрольный пример
5 2 3 3 3 1
3
4,7(54 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ