настюшка1101
19.12.2020 19:51

3. (1) Напишите код программы.
(2)
на
по
s=a+b

s=2*s-l,
Конец
(ii) Определите результат выполнения
программы, если а=5, b=3
[1]​

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Dasha57891
30.07.2021 18:51

Правило а) в конец числа (справа) дописывается 1, если число единиц в двоичной записи числа чётно, и 0, если число единиц в двоичной записи числа нечётно. Правило а) приведет к тому, что число единиц станет нечетным в любом случае.

Правило б) к этой записи справа дописывается остаток от деления количества единиц на 2. После правила а) число единиц нечетное, поэтому дописываться всегда будет единица. Это, в свою очередь, означает, что все число будет нечетным и в десятичной системе, а общее число единиц в двоичной записи будет четным.


Число R по условию превышает 31₁₀=11111₂ и должно быть нечетным.

Будем последовательно проверять все нечетные числа, начиная от 100001₂.

100001 может быть результатом работы алгоритма, т.е. число единиц в нем четное и оно завершается единицей.

В самом деле, если N₂=1000, то по правилу а) получаем 10000, а по правилу б) получаем 100001.


Итак, N₂=100001₂=2⁵+2⁰=32+1=33₁₀


ответ: 33

0,0(0 оценок)
Ответ:
nikolyaemelyan
11.07.2020 12:08
PascalABC.NET 3.4

begin
  var m:=ReadInteger('Введите натуральное число не более 3999:');
  if not m.Between(1,3999) then Writeln('Недопустимое значение')
  else
  begin
    Write(m,' = ');
    var ar:array of string:=
        ('M','CM','D','CD','C','XC','L','XL','X','IX','V','IV','I');
    var aa:=Arr(1000,900,500,400,100,90,50,40,10,9,5,4,1);
    var n:=0;
    var s:string:='';
    while m>0 do
    begin
      while aa[n]<=m do
      begin
        s+=ar[n];
        m-=aa[n];
      end;
      n+=1
    end;
    Writeln(s)
  end
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота