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

D4. Разбиение на невозрастающие слагаемые, лексикографический порядок Ограничение времени 1 секунда

Ограничение памяти 64Mb

Ввод стандартный ввод или input.txt

Вывод стандартный вывод или output.txt

Дано натуральное число N. Рассмотрим его разбиение на натуральные слагаемые. Два разбиения, отличающихся только порядком слагаемых, будем считать за одно, поэтому можно считать, что слагаемые в разбиении упорядочены по невозрастанию.

Формат ввода

Задано единственное число N. (N ≤ 40)

Формат вывода

Необходимо вывести все разбиения числа N на натуральные слагаемые в лексикографическом порядке.


D4. Разбиение на невозрастающие слагаемые, лексикографический порядок Ограничение времени 1 секундаО
D4. Разбиение на невозрастающие слагаемые, лексикографический порядок Ограничение времени 1 секундаО

Показать ответ
Ответ:
fkbithxtvg
fkbithxtvg
21.03.2023 05:16

#include <iostream>

#include <cstdlib>

#include <ctime>

using namespace std;

 

int main()

{

   srand((int)time(0));

   int M, N;

   cout << "M="; cin >> M;

   

   do

   {

   cout << "N="; cin >> N;

   if (N%2!=0) cout << "N - even. Repeat please...\n";

   }

   while (N%2!=0);

   

     double **a = new double*[M];  

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

      a[i]=new double[N];

   

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

   {

   for (int j = 0; j < N; j++)

   {

   a[i][j]=rand()%9 + 1;

   cout << a[i][j] << " ";

   }

   cout << "\n";

   }

   cout << "\n";

   

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

   for (int j = 0; j < N/2; j++)    

   swap (a[i][j],a[i][j+N/2]);

   

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

   {

   for (int j = 0; j < N; j++)

   cout << a[i][j] << " ";

   

   cout <<"\n";

   }

 

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

   delete[]a[i];

   delete[]a;

 

system("pause");

return 0;

}

Объяснение:

0,0(0 оценок)
Ответ:
orliniyglassoyccc0
orliniyglassoyccc0
26.12.2022 04:39

Событие: решение задачи. Источник информации: учитель. Приемник информации: ученик. Информационный носитель: доска. Событие: измерения давления. Источник ифнормации: пациент. Приемник информации: врач. Информационный носитель: тонометр. Событие: воспроизведение аудиофайла. Источник информации: пользователь. Приемник информации: сайт. Информациональнный носитель: ПК/телефон.

Событие: воспроизведение: видео и аудиофайла. Источник информации: пользователь. Приемник информации: телевизор. Информациональный

носитель: телевизор. Событие: воспроизведение

музыкального фрагмента в живую. Источник информации: ученик. Приемник информации: ближайшие слушатели. Информациональнный

Носитель: гитара.

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