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

Системы счисления (тест 4) ction=139&probid=4
Эта задача с открытыми тестами. Ее решением является набор ответов, а не программа на языке
программирования. Тесты указаны в самом условии, от вас требуется лишь ввести ответы на них в
тестирующую систему.
Недавно на уроке информатики Вася узнал о позиционных системах счисления. Ему очень понравилось
представлять разные числа в двоичной, троичной и даже девятеричной системе счисления. Помимо этого Васе
нравится записывать цифры числа в обратном порядке. Вася берет произвольное натуральное число хи
выполняет последовательно следующие три действия:
1. Вася переводит число X во все системы счисления с основанием от 2 до 9;
2. Все числа, полученные на предыдущем шаге, Вася записывает в обратном порядке, отбрасывая при этом у всех
перевернутых чисел ведущие нули;
3. Вася находит максимальное из чисел, полученных на втором шаге, сравнивая значения этих чисел, как будто
они записаны в десятичной системе счисления.
Какой результат получит Вася после выполнения трех шагов своего алгоритма для числа Х?
во все системы счисления с
Примечание
Например, Вася хочет решить задачу для числа X = 8. Переведем число 8
основаниями k, где k принимает значения от 2 до 9.
При k = 2 получаем 810 10002;
при k = 3 получаем 810 = 223;
при k = 4 получаем 810 = 204
при k = 5 получаем 810 135;
при k = 6 получаем 810
126;
при k = 7 получаем 810 = 11;
при k = 8 получаем 810
108;
при k = 9 получаем 810 = 80.
Теперь запишем цифры данных чисел в обратном порядке и отбросим ведущие нули. Получим числа 1 (для k = 2),
22 (для k = 3), 2 (для k = 4), 31 (для k = 5), 21 (для k = 6), 11 (для k = 7), 1 (для k = 8), 8 (для k = 9).
Теперь рассматриваем эти числа, как будто они записаны в десятичной системе счисления. Тогда максимальное из
них равно 31, что и является ответом для исходного числа X = 8.
• Тест №1: х = 4;
Close Firefox
s911-03-32-047 [Школьн...​


Системы счисления (тест 4) ction=139&probid=4Эта задача с открытыми тестами. Ее решением являетс

Показать ответ
Ответ:
akulkaeva78
akulkaeva78
27.05.2021 07:46

#include <iostream>

using namespace std;

int main() {

setlocale(LC_ALL, "");

int N = 10;

int max = -9999999;

int sum = 0;

int choise = 0;

int arr[N] = {0};

cout << "Введите 10 значений: ";

for(int i = 0; i<N; ++i) {

cin >> arr[i];

}

cout << "Введите действие (1 - +, 2 - макс. значение, 3 - колво отр. значений)";

cin >> choise;

if(choise==1) {

for(int i = 0; i<N; ++i) {

sum+=arr[i];

}

cout << endl << "Сумма: " << sum;

}

if(choise==2) {

for(int i = 0; i<N; ++i) {

if(arr[i]>max) {

max = arr[i];

}

}

 cout << endl << "Макс. знач: " << max;

}

if(choise==3) {

 for(int i = 0; i<N; ++i) {

   if(arr[i]<0) {

     ++sum;

   }

 }

 cout << "Колво отр. знач: " << sum;

}

 if(choise!=1&&choise!=2&&choise!=3) {

   cout << "Введите корректное значение.";

 }

 return 0;

}

0,0(0 оценок)
Ответ:
erke22
erke22
27.05.2021 07:46

ЯП: С++ | можно не писать std:: , если использовать пространство имен: using namespace std;

#include <iostream>

int main() {

const int SIZE = 10;

int regim, sum, max, count;

int arr[SIZE];

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

{

 std::cin >> arr[i]; // вводим элементы массива

 std::cout << arr[i] << "\t"; // выводим массив в консоль

}

std::cin >> regim;

if ((regim > 0) && (regim < 4))

{

 if (regim == 1)

 {

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

  {

   sum += arr[i]; // или sum = sum + arr[i];

  }

  std::cout << "Сумма элементов массива = " << sum << std::endl;

 }

 else if (regim == 2)

 {

  max = arr[0];

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

  {

   if (max < arr[i])

    max = arr[i];

  }

  std::cout << "Максимальный элемент в массиве = " << max << std::endl;

 }

 else

 {

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

  {

   if (arr[i] < 0)

    count++;

  }

  std::cout << "Число отрицательных элементов в массиве = " << count << std::endl;

 }

}

else

 std::cout << "Доступен только 1-3 режим!" << std::endl;

return 0;

}

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