X2755070
?>

На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом: 1) Строится двоичная запись числа N. 2) К этой записи дописывается справа бит чётности: 0, если в двоичном коде числа N было чётное число единиц, и 1, если нечётное. 3) К полученному результату дописывается ещё один бит чётности. Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R. Укажите минимальное число R, большее 130, которое может быть получено в результате работы этого алгоритма. В ответе это число запишите в десятичной системе

Информатика

Ответы

Ярослав

Переведём число 130 в двоичную систему счисления:

13010=100000102

Число N должно быть на два разряда меньше, то есть уберем из двоичной записи числа 130 два левых разряда:

100000

Теперь попробуем применить к нему алгоритм. Сначала складываются три левых разряда, и остаток от деления на 2 этой суммы запишем в конец числа справа:

1000001

Теперь сложим правые четыре разряда, и остаток от деления этой суммы тоже запишем слева:

10000011

Как мы видим, при числе 1000002 мы получили число 100000112, что на единицу больше, чем число 130. При этом 1000002 = 3210, то есть минимальное возможное N не только для R, которое больше 130, но и по условию задания.

ответ: 32

vik-2202
//Pascal ABC.NET 3.1 сборка 1219

Var
 k,n,max:integer;

 procedure hase(var k,n,max:integer); //сама последовательность
 begin
  if not(odd(n)) then n:=n div 2 else n:=n*3+1; //условие про чётность
  writeln(n); //вывод нового члена последовательности
  inc(k); //увеличение значения счётчика шагов
  if max<n then max:=n; //поиск вершины
 end;

  procedure start(var k,n,max:integer); //название процедуры намекает
 begin
  readln(n);
  k:=0;
  writeln('Seq:');
  max:=integer.MinValue;
  while n<>1 do
  hase(k,n,max);
  writeln('Шаги:',k);
  writeln('Вершина:',max);
 end;
 begin
 start(k,n,max);
end.
Пример ввода:
6
Пример вывода:
Seq:
3
10
5
16
8
4
2
1
Шаги:8
Вершина:16
olgamalochinska
//Pascal ABC.NET 3.1 сборка 1219

uses
 system,system.Windows.Forms;

Var
 dat:DateTime;
 myForm:Form;
 myButton:Button;
 myTextBox:TextBox;

 procedure MyButtonClick(sender:Object;e:EventArgs);
  begin {при каждом нажатии на кнопку значение dat обновляется и выводится в текстовое поле}
 dat:=datetime.Now;
 myTextBox.Text:=dat.ToString;
 end;
 begin
  myForm:=new Form; //создание объекта - формы
   myform.Left:=500;
   myform.top:=500;
   myform.AutoSize:=true;
   myform.Width:=300;
   myform.Height:=100;
  myTextBox:=new TextBox; //создание объекта - текстового поля
  myTextBox.Left:=80;
   myTextBox.Top:=40;
   myTextBox.Enabled:=true;
   myTextBox.Width:=105;
   myTextBox.Height:=100;
   myTextBox.MaxLength:=16;
   myTextBox.ReadOnly:=false;
   myTextBox.Visible:=true;
  myButton:=new Button; //создание объекта - кнопки
   myButton.Text:='Now';
   myButton.Left:=80;
   myButton.top:=80;
   myButton.AutoSize:=true;
   myForm.Controls.Add(myButton); //вешаем на форму кнопку и поле
   myForm.Controls.Add(myTextBox);
   myButton.click+=MyButtonClick; //присваиваем событие при нажатии на кнопку
   Application.Run(myForm);
end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом: 1) Строится двоичная запись числа N. 2) К этой записи дописывается справа бит чётности: 0, если в двоичном коде числа N было чётное число единиц, и 1, если нечётное. 3) К полученному результату дописывается ещё один бит чётности. Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R. Укажите минимальное число R, большее 130, которое может быть получено в результате работы этого алгоритма. В ответе это число запишите в десятичной системе
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

VadimovnaIgor
kartyshkinaaa
alesia1986
Tatyana1374
Lesnova_Kiseleva730
Larisa Bulgakova
Александра_Наталья1417
Kushchenko-Monashev
Alekseevna
ktv665
Евгеньевна_Хусинов
Илья_Ветклиники1655
Окунева-Мотова
perova-s200
fokolimp