В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
таиса10
таиса10
07.10.2020 08:33 •  Информатика

Что пропущено в ряду: "символ – – строка – фрагмент текста":

Показать ответ
Ответ:
vasiaska234
vasiaska234
25.02.2023 17:02
Решение, что называется, "в лоб" (далеко, очень далеко, не самое лучшее):
var s,k1,k5,k10,k50,k100,k500,k1000,k10000:integer;
begin
write('s = '); readln(s);
k1:=0; k5:=0; k10:=0; k50:=0; 
k100:=0; k500:=0; k1000:=0; k10000:=0;
while s>=10000 do begin s:=s-10000; k10000:=k10000+1; end;
while s>=1000 do begin s:=s-1000; k1000:=k1000+1; end;
while s>=500 do begin s:=s-500; k500:=k500+1; end;
while s>=100 do begin s:=s-100; k100:=k100+1; end;
while s>=50 do begin s:=s-50; k50:=k50+1; end;
while s>=10 do begin s:=s-10; k10:=k10+1; end;
while s>=5 do begin s:=s-5; k5:=k5+1; end;
while s>=1 do begin s:=s-1; k1:=k1+1; end;
writeln('k10000=',k10000,' k1000=',k1000,' k500=',k500,' k100=',k100,' k50=',k50,' k10=',k10,' k5=',k5,' k1=',k1);
writeln(' Всего купюр = ',k1+k5+k10+k50+k100+k500+k1000+k10000);
end.

Пример:
s = 27879
k10000=2 k1000=7 k500=1 k100=3 k50=1 k10=2 k5=1 k1=4
 Всего купюр = 21
0,0(0 оценок)
Ответ:
sandrokapanadze777
sandrokapanadze777
06.06.2021 10:41
Крутить это все в уме - чистое наказание. Проще было написать программу.

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

type
  Pinnacle=record
    St:Stack<integer>;
    No:integer;
  constructor (n:integer);
  begin
    St:=new Stack<integer>;
    No:=n
  end;
end;
 
var
  MoveNo:integer;

procedure MoveDisk(s1,s2:Pinnacle);
begin
  if s1.St.Count>0 then begin
    MoveNo+=1;
    s2.St.Push(s1.St.Pop);
    Writeln(MoveNo:3,': №',s2.St.Peek,' ',s1.No,' -> ',s2.No)
    end
end;
   
procedure MovePinnacle(n:integer; s1,s2,s3:Pinnacle);
begin
  if n=0 then exit;
  MovePinnacle(n-1,s1,s3,s2);
  MoveDisk(s1,s2);
  MovePinnacle(n-1,s3,s2,s1);
end;

begin
  var n:=5;
  var p1:=new Pinnacle(1);
  var p2:=new Pinnacle(2);
  var p3:=new Pinnacle(3);
  Range(n,1,-1).ForEach(i->p2.St.Push(i));
  MoveNo:=0;
  MovePinnacle(n,p2,p3,p1);
end.

Результат работы
  1: №1 2 -> 3
  2: №2 2 -> 1
  3: №1 3 -> 1
  4: №3 2 -> 3
  5: №1 1 -> 2
  6: №2 1 -> 3
  7: №1 2 -> 3
  8: №4 2 -> 1
  9: №1 3 -> 1
 10: №2 3 -> 2
 11: №1 1 -> 2
 12: №3 3 -> 1
 13: №1 2 -> 3
 14: №2 2 -> 1
 15: №1 3 -> 1
 16: №5 2 -> 3
 17: №1 1 -> 2
 18: №2 1 -> 3
 19: №1 2 -> 3
 20: №3 1 -> 2
 21: №1 3 -> 1
 22: №2 3 -> 2
 23: №1 1 -> 2
 24: №4 1 -> 3
 25: №1 2 -> 3
 26: №2 2 -> 1
 27: №1 3 -> 1
 28: №3 2 -> 3
 29: №1 1 -> 2
 30: №2 1 -> 3
 31: №1 2 -> 3

Иллюстрация первых пяти шагов приведена во вложении.

Спро ханойские башни расписать порядок ходов для перекладывания 5 дисков со второго стержня на трети
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота