NoZeX1
17.04.2023 23:55

Напишіть процедуру для обчислення такого виразу s=5a+8b(інформатика)

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
07Лизочек07
02.12.2020 14:51
1. В приведенном коде ошибка. Не хватает ";" в третьей строке снизу.
2. Немного изменим ваш код и получим искомое значение x
Искомое число х = 16293

var
  x, y, a, b, k: integer;

begin
  k:=10000;
  repeat
    x:=k;
    a := 0; b := 0; y := 1;
    while x > 0 do
    begin
      if (x mod 10) mod 2 = 0
        then
        a := a * 10 + x mod 10
      else begin
        y := y * 10;
        b := b * 10 + x mod 10
      end;
      x := x div 10
    end;
    a := a * y + b;
    k := k + 1;
    until a = 26391;
    writeln(a:8, k-1:8); 
end.

 
0,0(0 оценок)
Ответ:
kazinka9
20.04.2022 22:33
// PascalABC.NET 3.2, сборка 1325 от 19.10.2016
function BinToOct(s:string):string;
// переводит двоичную триаду в восьмеричную цифру
begin
  case s of
  '000':Result:='0';
  '001':Result:='1';
  '010':Result:='2';
  '011':Result:='3';
  '100':Result:='4';
  '101':Result:='5';
  '110':Result:='6';
  '111':Result:='7';
  end
end;

begin
  var s2:=ReadlnString('Введите целое двочное число');
  var k:=s2.Length mod 3;
  if k<>0 then s2:=(3-k)*'0'+s2; // дополнить до кратной 3 длины
  var s8:='';
  for var i:=1 to s2.Length div 3 do
    s8:=s8+BinToOct(Copy(s2,3*i-2,3));
  Writeln(s8);
end.

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