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

Уёлки иголки колки
составьте кодовую таблицу, поставив в соответствие каждой букве порядковый номер её первого вхождения в текст; повторный вхождения букв в текст при определении игнорируются. пояснение: в слове "молоко" буква "м" по этому правилу кодируется числом 1, "о" - 2, "л" - 3, "к" - 4.
г ё и к л о у

объясните, почему г - 6, а не 7? ведь она идёт по счёту седьмая!

Показать ответ
Ответ:
name64
name64
11.09.2021 20:03

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

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


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

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

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

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


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


ответ: 33

0,0(0 оценок)
Ответ:
gambab
gambab
26.04.2020 22:47
Решение в PascalABC.NET 3.4

*** этот файл мы должны назвать nekkit20.pas ***
*** после его компиляции будет создан модуль ***

unit nekkit20;

type
  tra=(string,integer);

function RomeToArab(s:string):integer;
// Перевод римских чисел (не больших MMMCMXCIX) в арабские
begin
  var ar:='IVXLCDM';
  var aa:=Arr(1,5,10,50,100,500,1000);
  var n:=0;
  Result:=0;
  foreach var c in s do
  begin
    var c1:=n;
    n:=aa[Pos(c,ar)-1];
    Result+=n+(n>c1?-2*c1:0)
  end;
end;

function Equal(r:array of string; a:array of integer):sequence of tra;
// Возвращает последовательность кортежей
// из массива римских чисел (массив r),
// для которых есть соответствие в массиве арабских чисел (массив a) 
begin
  foreach var q in r do
  begin
    var n:=RomeToArab(q);
    if a.IndexOf(n)>-1 then yield((q,n))
  end
end;

end.

*** а это другой файл с любым именем, кроме nekkit20 ***
*** он обращается к молулю nekkit20 ***

uses nekkit20;

begin
  var sr:=Arr('DXVIII','LXIII','MII','XIV','LXXXVIII','CXCVI');
  var ar:=Arr(14,98,196,1002,518,64,87);
  var R:=Equal(sr,ar);
  if R.Count=-1 then Writeln('Нет совпадений')
  else
    foreach var t in R do
      Writeln(t[0],' = ',t[1])
end.

*** Контрольный пример ***

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