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

Некоторый алгоритм из одной цепочки десятичных цифр получает новую цепочку следующим образом. сначала вычисляется сумма всех цифр в цепочке. если сумма является нечетным числом, к цепочке справа дописывается цифра 1, в противном случае – цифра 0. все нули в цепочке заменяются на цифру 1. из полученной цепочки удаляется первая слева подцепочка, состоящая из последовательно идущих единиц. полученная таким образом цепочка является результатом работы алгоритма. например, если исходной была цепочка 5431, то результатом работы алгоритма будет цепочка 543, а если исходной была цепочка 7023, то результатом работы алгоритма будет цепочка 7231. дана цепочка символов 819. какая цепочка символов получится, если к данной цепочке применить описанный алгоритм дважды (то есть применить алгоритм к данной цепочке, а затем к результату вновь применить алгоритм)?

👇
Ответ:
AnnaKaramelka6684
AnnaKaramelka6684
31.12.2021
Применим алгоритм первый раз:
819
819=8+1+9=18=1+8=9 - нечетное => приписываем справа 1
8191
Нулей в цепочке нет
Удаляем первую подцепочку, состоящию из единиц слева
891
Конец первого алгоритма

Применим алгоритм второй раз:
891
891=8+9+1=18=1+8=9 - нечетное => приписываем справа 1
8911
Нулей в цепочке нет
Удаляем первую подцепочку, состоящию из единиц слева
89
Конец второго алгоритма

ответ: 89
4,4(19 оценок)
Открыть все ответы
Ответ:
motay121
motay121
31.12.2021
Var dv,tr,pt,dv1,tr1,pt1,dv2,tr2,pt2 :real;

procedure nod( var dv,tr,pt,dv1,tr1,pt1,dv2,tr2,pt2 :real; );
var a:array[1..6] of real;
i : integer;
begin
dv1:=100;
tr1:=100;
pt1:=100;
for i:= low(a) to high (a) do begin
readln(a[i]);
repeat
if( (a[i] mod 2) =0) then begin
a[i]:=a[i]/2;
dv:=dv+1;
end
else if( ( a[i] mod 3)=0) then begin
a[i]:=a[i]/3;
tr:=tr+1;
end
else if ( ( a[i] mod 5)=0) then begin
a[i]:=a[i]/5;
pt:=pt+1;
end;

untill(a=1);
if dvif trif ptdv:=0;
tr:=0;
pt:=0;
end;
if dv1>0 then dv2:=dv1*2 else dv2:=1;
if tr1>0 then tr2:=tr1*3 else tr2:=1;
if pt1>0 then pt2:=pt1*5 else pt2:=1;
nod:=dv2*tr2*pt2;
writeln(nod);
end;
begin
nod( dv,tr,pt,dv1,tr1,pt1,dv2,tr2,pt2 );
end.

end;
4,8(40 оценок)
Ответ:
Арина7405
Арина7405
31.12.2021
Задача №1
//PascalABC.NET (версия 3.1, сборка 1196 от 09.03.2016)
Var n, i: integer; 
Begin                   
writeln ('Введите число');
readln(n);                                    
writeln('Делители числа:');  
for i := 1 to n div 2 do     
  if (n mod i) = 0 then begin 
    write(i,'  ');
  end;         
End.       

Задача №2 (алгоритм не очень шустрый, но работает и понятный)
//PascalABC.NET (версия 3.1, сборка 1196 от 09.03.2016)
var
  a, b, x, y, nod: integer;

begin
  writeln('Введите a,b');
  readln(a, b);
  x := a;y := b;
  while x <> y do
    if x > y
      then x := x - y
    else y := y - x;
  nod := x;
  writeln('NOD(', a, ',', b, ')=', nod);
end.
4,6(32 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ