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

Тема: символьные переменные
сделать переменную со словом фирма

Показать ответ
Ответ:
ггвв
ггвв
22.05.2023 21:22
2^n в двоичной системе - это 1 и n нулей после неё. Например, 2^5(10) = 100000(2)
Приведём все степени к основанию 2

2^3702-2^468+2^1620-108

-108 можно представить как -128 + 16 + 4

2^3702-2^468+2^1620-2^7 + 2^4 + 2^2

Теперь выстраиваем степени в порядке убывания:

2^3702+2^1620-2^468-2^7 + 2^4 + 2^2

В выражении два вычитания подряд, избавимся от этого, заменив -2^468 на -2^469 + 2^468

2^3702+2^1620 -2^469+2^468-2^7 + 2^4 + 2^2

2^3702 - 1 единица
2^4 - 1 единица
2^2 - 1 единица

Количество единиц в вычитаниях будет равно разнице степеней. Например 1000000-100=1111

2^1620 -2^469 - количеств единиц 1620-469 = 1151
2^468-2^7 - количество единиц 468-7 = 461
Общее количество единиц равно 3+1151+461 = 1615
0,0(0 оценок)
Ответ:
ШкОлА1337228
ШкОлА1337228
13.12.2021 05:39

Program MashaLukianova;
uses crt;
const n=12;
var
  mas:array[1..n] of integer;
  b,i,left,right,temp:integer;
begin
  writeln('*** alphaues is thinking... ***');
  writeln('***          OK             ***');
  writeln();
  write('Введите загадочное число B ');
  readln(b);
  writeln('Элементы массива:');
  {создание и вывод начального массива}
  randomize;
    for i:=1 to n do
      begin
        mas[i]:=random(100)-50;
        write (mas[i]:4);
      end;
  writeln();
  left:=0;
  right:=n;
  while left <> right do         {просматриваем массив с концов к середине, пока "левый" и "правый" текущие элементы не встретятся}
    begin
      if mas[left+1]<=b then

        {если текущий "левый" элемент меньше или равно В, то просто идём смотреть следующий }
        begin
          left:=left+1;
        end
        else
          if mas[right]>=b then
        {если текущий "правый" элемент больше или равно В, то просто идём смотреть следующий }

            begin
              right:=right-1;
            end
          else

        {иначе меняем "левый" и "правый" местами}
            begin
              temp:= mas[left+1];
              mas[left+1]:=mas[right];
              mas[right]:=temp;
              left:=left+1;
              right:=right-1;
            end;
    end;
  writeln();
  {вывод массива-результата}
  for i:=1 to n do
      begin
        write (mas[i]:4);
      end;
  writeln();
end.

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