Породження перестановок ефективним методом

Цена:
20 руб.

Состав работы

material.view.file_icon 4C4CBED6-0044-41FB-93C1-DB5F4140C592.docx
Работа представляет собой файл, который можно открыть в программе:
  • Microsoft Word

Описание

Мета: навчитися робити породження перестановок ефективним методом
Теоретичні відомості:
Послідовність n! перестановок на множині {1, 2, ..., n},
в якій сусідні перестановки розрізняються так мало, як тільки
можливо, - найкраще, на що можна сподіватися з точки зору міні-
мізації обсягу роботи, необхідного для породження перестали-
вок. Для того щоб така відмінність була мінімально можливим,
будь-яка перестановка в нашій послідовності повинна відрізняти-
ся від попередньої їй транспозицією двох сусідніх елементів.
Таку послідовність перестановок легко побудувати рекур-
вибухобезпечний. Для n = 1 єдина перестановка {1} задовольняє на-
шим вимогам. Припустимо, ми маємо послідовність
перестановок p1; p2> p3> - на множині {1, 2, ..., n}, в якій після-
довательности перестановки розрізняються тільки транспозицією
суміжних елементів. Розширимо кожну з цих (і - 1)! перестали-
вок, вставляючи елемент п на кожне з я можливих місць. Порядок
породжуваних таким чином перестановок буде наступним:
Постанова задачі
1. Реалізувати робочу програму та блок-схему породження перестановок ефективним методом на мові С
2. Ввести у вхідний файл EffectIn.txt довжину перестановки (порядковій номер -5) n=6.
3. Отримати вихідний файл EffectOut.txt виду 1) 1 2 3 4 5 6, де 1) – номер перестановки, а все інше – перестановка.
Виконання роботи
1.  Побудував блок-схему до програми
3. Текст програми
#include <iostream>
#include <time.h>
#include <ctime>  

const int n_max=20;   
typedef int Vector[n_max+1];  
FILE *f;  
void Effect(Vector z, int n); 
void Effect(Vector z, int n){  
long int k=0;
Висновок: навчитися робити породження перестановок ефективним методом за допомогою програми на мові С
Формы и условия привлечения банковского кредита
Введение 1. Теоретическая сущность, классификация и анализ инвестиционных рисков 1.1 Понятие и классификация инвестиционных рисков 1.2 Анализ инвестиционных рисков 1.3 Меры снижения риска инвестиционного проекта 2. Краткая организационно-экономическая характеристика ООО «ТД «Вятские минеральные воды» за 2008-2009 гг. 2.1 Общие сведения о ООО «ТД «Вятские минеральные воды» 2.2 Анализ основных экономических показателей 2.3 Оценка финансового состояния предприятия 3. Анализ инвестиционных р
User alfFRED : 25 октября 2013
10 руб.
Вычислительная математика. Экзамен. Билет №10.
Билет №10 1. Найдите методом трапеций, разбив интервал интегрирования на 10 частей. Оцените погрешность полученного значения. 2. Определите, какое равенство точнее (найдите относительные погрешности).
User LowCost : 26 мая 2020
70 руб.
Вычислительная математика. Экзамен. Билет №10. promo
Управление данными. Базы данных.
- - - Всего 75 вопросов-ответов - - - 1. Подзапрос, возвращающий множество значений - это … подзапрос 2. Ссылочная целостность может быть нарушена при выполнении операции … 3. Оператор … фильтрует группы строк объекта в соответствии с указанным условием 4. Совокупность допустимых значений, из которой берутся значения соответствующих атрибутов определенного отношения, – это … 5. Основополагающие для организации складов данных принципы – это … 6. Модель, отображающая информационные объекты, их сво
User ezhva : 29 июня 2022
210 руб.
Рабинович Сборник задач по технической термодинамике Задача 169
Для использования теплоты отходящих газов двигателя мощностью N=2500 кВт установлен подогреватель, через который проходит L=60000 м³/ч воздуха при температуре t1=15 ºC и давлении р=0,101 МПа. Температура воздуха после подогревателя равна 75 ºС. Определить, какая часть теплоты топлива использована в подогревателе. КПД двигателя принять равным 0,33. Зависимость теплоемкости от температуры линейной. Ответ: 71%.
User Z24 : 30 ноября 2025
150 руб.
Рабинович Сборник задач по технической термодинамике Задача 169
up Наверх