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

Срешением . язык программирования pascal. своими цифрами в массивах к(m) и l(n) заданы два целых числа в р-ичной системе счисления (р< 10). найти в таком же виде их сумму, не вычисляя самих чисел.

👇
Ответ:
angel3530
angel3530
16.11.2022
//Код, уродливый как кхм
//Pascal ABC.NET 3.1 сборка 1219

Const
 n=1;
 m=2;

Var
 ar1:array[1..m] of integer;
 ar2:array[1..n] of integer;
 arr:array[1..n+m] of integer;
 i,p,raz,ost,isec:integer;
begin
write('Введите основание СС:');
readln(p);
writeln('Введите число 1:');
for i:=1 to m do
readln(ar1[i]);
writeln('Введите число 2:');
for i:=1 to n do
readln(ar2[i]);
if n>m then
begin
i:=n;
isec:=m;
while (i<>0) and (isec<>0) do
 begin
  if ar2[i]+ar1[isec]>=p then
   begin
    ost:=(ar2[i]+ar1[isec]) div p;
    arr[i]:=(ar2[i]+ar1[isec]) mod p;
   end
   else
   begin
    arr[i]:=ar2[i]+ar1[isec]+ost;
    ost:=0;
   end;
  dec(i);
  dec(isec);
  inc(raz);
 end;
 arr[i]:=ost;
 ost:=i;
 for i:=1 to ost do
 begin
 arr[i]:=arr[i]+ar2[i];
 inc(raz);
 end;
 while arr[1]>=p do
  begin
  ost:=arr[1] div p;
  arr[1]:=arr[1] mod p;
  for i:=raz downto 1 do
  arr[i+1]:=arr[i];
  arr[1]:=ost;
  inc(raz);
  end;
end
else
begin
i:=m;
isec:=n;
while (i<>0) and (isec<>0) do
 begin
  if ar1[i]+ar2[isec]>=p then
   begin
    ost:=(ar1[i]+ar2[isec]) div p;
    arr[i]:=(ar1[i]+ar2[isec]) mod p;
   end
   else
   begin
    arr[i]:=ar1[i]+ar2[isec]+ost;
    ost:=0;
   end;
  dec(i);
  dec(isec);
  inc(raz);
 end;
if n<>m then
begin
arr[i]:=ost;
ost:=i;
for i:=1 to ost do
begin
arr[i]:=arr[i]+ar1[i];
inc(raz);
end;
end
else
begin
for i:=raz downto 1 do
arr[i+1]:=arr[i];
arr[1]:=ost;
inc(raz);
end;
 while arr[1]>=p do
  begin
  ost:=arr[1] div p;
  arr[1]:=arr[1] mod p;
  for i:=raz downto 1 do
  arr[i+1]:=arr[i];
  arr[1]:=ost;
  inc(raz);
  end;
end;
writeln('Result:');
for i:=1 to raz do
write(arr[i]:4);
end.
Пример работы программы:
Введите основание СС:3
Введите число 1:
2
2
Введите число 2:
1
Result:
   1   0   0
4,5(51 оценок)
Открыть все ответы
Ответ:
alenavasipenok
alenavasipenok
16.11.2022
Если никакие две карточки не были открыты дважды, то все попытки мистера Форда были неудачными, он вытаскивал разные ненужные карточки; все ходы мистера Фокса, кроме последнего, тоже были неудачными, а на последнем ходу он открыл все 5 нужных карточек.

Всего неудачных ходов могло быть не больше 30 - 5 = 25 - это число неподходящих карточек. Мистер Фокс и мистер Форд сделали одинаковое число неудачных ходов, значит, вместе они сделали не больше 24 неудачных ходов, а с учетом последнего, удачного, хода мистера Фокса, ходов могло быть не более 25.

ответ: 25.
4,5(40 оценок)
Ответ:
emashewamarina
emashewamarina
16.11.2022
// PascalABC.NET 3.2, сборка 1407 от 18.03.2017
// Внимание! Если программа не работает, обновите версию!

function Good(s:string):boolean;
begin
  var n:=s.Length;
  var t:=s.ToCharArray.Distinct;
  Result:=false;
  foreach var c in t do begin
    var k:=0;
    for var i:=1 to n do
      if s[i]=c then k+=1;
    if k=3 then begin Result:=true; Break end
    end;
end;

begin
  var aw:=ReadlnString('Ведите строку:').ToWords;
  var aw2:=aw.Where(w->Good(w));
  aw2.Println;
end.

Пример
Ведите строку: корова барометр молоко длинношеее перемена соответствие кровообращение молоковоз борода
молоко длинношеее перемена соответствие кровообращение
4,7(49 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ