М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Milkis051105
Milkis051105
22.06.2021 21:09 •  Информатика

На вход алгоритма подаётся натуральное число n. алгоритм строит по нему новое число r следующим образом. 1) строится двоичная запись числа n. 2) к этой записи дописываются справа ещё два разряда по следующему правилу: а) в конец числа (справа) дописывается 1, если число единиц в двоичной записи числа чётно, и 0, если число единиц в двоичной записи числа нечётно. б) к этой записи справа дописывается остаток от деления количества единиц на 2. полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа n) является двоичной записью искомого числа r. укажите минимальное число r, которое превышает 31 и может являться результатом работы алгоритма. в ответе это число запишите в десятичной системе.

👇
Ответ:
Первое число R, превышающее 31₁₀, это 32₁₀ = 2⁵₁₀ = 100000₂
Поскольку сказано, что количество двоичных разрядов в записи числа R на два больше, чем в записи исходного числа и разряды приписываются справа, отделим два правых разряда и получим минимальное исходное число N=1000₂.
Найдем по алгоритму, какое число R получается из N=1000₂
R=1000 0 (число единиц нечетно) 1 (остаток от деления количества единиц на 2). Итого получили R=100001₂ = 33₁₀

ответ: 33
4,7(46 оценок)
Открыть все ответы
Ответ:
Anonimka89
Anonimka89
22.06.2021

Объяснение:

using System;

   class Program

   {

       static void Main(string[] args)

       {

           long n, m;

           n = long.Parse(Console.ReadLine());

           m = long.Parse(Console.ReadLine());

           long[,] mas = new long[n,m];

           for(long i = 0; i < n; i++)

           {

               for (long j = 0; j < m; j++)

               {

                   mas[i, j] = long.Parse(Console.ReadLine());

               }

           }

           long s=mas[0,0];

           mas[0, 0] = mas[n - 1, m - 1];

           mas[n - 1, m - 1] = s;

           for (long i = 0; i < n; i++)

           {

               for (long j = 0; j < m; j++)

               {

                   Console.Write(mas[i, j] + " ");

               }

               Console.WriteLine();

           }

           Console.ReadLine();

       }

   }

тут без namespace

4,6(64 оценок)
Ответ:
deemetraa
deemetraa
22.06.2021

#include <iostream>

#include <vector>

#include <cmath>

#include <set>

using namespace std;

void swap(int *a, int *b){

   int temp = *a;

   *a = *b;

   *b = temp;

}

signed main() {

   set<pair<int,int>> s;

   int n;

   cin >> n;

   vector<int> a(n);

   for(int &i:a)

       cin >> i;

   int m;

   cin >> m;

   while(m--){

       int x,y;

       cin >> x >> y;

       s.insert({x,y});

       s.insert({y,x});

   }

   for(int i = 0; i < n; i++)

       for(int j = 0; j < n - i - 1; j++)

           if(a[j] > a[j+1] && s.find({a[j],a[j+1]}) == s.end())

               swap(a[j],a[j+1]);

   for(int &i:a)

       cout << i << " ";

}

4,4(74 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ