msyesta
10.07.2021 17:34

На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом. 1. Строится двоичная запись числа N.

2. К этой записи дописываются ещё два разряда по следующему правилу:

а) если N чётное, то к нему справа приписываются две последние цифры его двоичной записи;

б) если N нечётное, то к нему справа и слева приписывается цифра 1.

Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R.

Например, двоичная запись нечётного числа 110012 будет преобразована в 11100112.

Укажите такое наименьшее число R, превышающее 130, которое может являться результатом работы данного алгоритма.
В ответе это число запишите в десятичной системе счисления

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
alsu1401
16.08.2020 21:28

int main()

{

train* arrayOfTrain[5];  // создается массив указателей на объекты train

// в следующем цикле у пользователя запрашивается заполнение пяти объектов train

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

{

string punkt;

int trainNumber;

Time startTime;

cin >> punkt;  // ввод пункта

cin >> trainNumber;  // ввод номера поезда

cin >> startTime;  // ввод времени

// в следующей строке выделяется память под объект train, ему присваиваются введенные данные

arrayOfTrain[i] = new train(punkt, trainNumber, startTime);

}

// сортировка массива по длине названия пункта назначения

// ( функция strcmp сравнивает длины строк )

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

for (int j = i + 1; j < 5; j++) {

if (strcmp(arrayOfTrain[i]->punkt.c_str(), arrayOfTrain[j]->punkt.c_str()) > 0)

{

swap(arrayOfTrain[i], arrayOfTrain[j]);

}

}

// сортировка элементов с одинаковой длиной названия пункта назначения по времени отправления

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

for (int j = i + 1; j < 5; j++) {

if (strcmp(arrayOfTrain[i]->punkt.c_str(), arrayOfTrain[j]->punkt.c_str()) == 0)

{

if (arrayOfTrain[i]->startTime.m_hours > arrayOfTrain[j]->startTime.m_hours)

swap(arrayOfTrain[i], arrayOfTrain[j]);

if (arrayOfTrain[i]->startTime.m_hours == arrayOfTrain[j]->startTime.m_hours)

if (arrayOfTrain[i]->startTime.m_minutes > arrayOfTrain[j]->startTime.m_minutes)

swap(arrayOfTrain[i], arrayOfTrain[j]);

}

}

// вывод массива на экран

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

{

cout << arrayOfTrain[i]->punkt << " " << arrayOfTrain[i]->trainNumber << " " << arrayOfTrain[i]->startTime << endl;

}

system("pause");

return 0;

}

0,0(0 оценок)
Ответ:
mar244144
30.10.2022 20:07

1) если нужно найти произведение элементов с нечетными индексами:

#include <iostream>

#include <cmath>

#include <vector>

using namespace std;

signed main() {

   int a[20];

   srand(time(NULL));

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

       a[i] = rand()%46 - 19;

   for(auto i: a)

       cout << i << " ";

   cout << "\n";

   long long ans = 1;

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

       if(i % 2 == 1)

           ans *= a[i];

   cout << ans;

}

2) Если нужно найти произведение элементов с нечетными порядковыми номерами:

#include <iostream>

#include <cmath>

#include <vector>

using namespace std;

signed main() {

   int a[20];

   srand(time(NULL));

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

       a[i] = rand()%46 - 19;

   for(auto i: a)

       cout << i << " ";

   cout << "\n";

   long long ans = 1;

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

       if((i+1) % 2 == 1)

           ans *= a[i];

   cout << ans;

}

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