Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2012, 20:21   #1
пожрать_бы
 
Регистрация: 02.11.2012
Сообщений: 9
Печаль Векторы инверсий. Поиск номера перестановки.

используя массивы и циклические конструкции, по вектору инверсий найти номер перестановки
____________________
помогите,плиз
пожрать_бы вне форума Ответить с цитированием
Старый 02.11.2012, 22:28   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Что такое "номер перестановки"? Перестановки множества обычно не наделены порядком, насколько помню.
Abstraction вне форума Ответить с цитированием
Старый 02.11.2012, 22:36   #3
пожрать_бы
 
Регистрация: 02.11.2012
Сообщений: 9
По умолчанию

"номер перестановки"-количество всех перестановок, его можно так же определить, используя смешанную с/с с факториалами
пожрать_бы вне форума Ответить с цитированием
Старый 02.11.2012, 22:45   #4
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Номер - это количество всех. Спасибо, объяснили.
Можно несколько примеров в виде "входные данные - ожидаемый результат работы"?
Abstraction вне форума Ответить с цитированием
Старый 02.11.2012, 22:49   #5
пожрать_бы
 
Регистрация: 02.11.2012
Сообщений: 9
По умолчанию

я просто сама не совсем понимаю, о чем это задание:D

например, вектор инверсий D=(0,1,2,1,1)
тогда его номер перестановки N=0+1*1!+2*2!+1*3!+1*4!=35
____________________________
если вы это имели ввиду
пожрать_бы вне форума Ответить с цитированием
Старый 02.11.2012, 23:08   #6
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Гм. Ну, как бы такую сумму составить невелика проблема:
Код:
int factorial(int n){ //Используем массив. Поскольку 13! уже не лезет в int...
  static int answers[] = {1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880, 3628800, 39916800, 479001600};
  if(n>12) return 0;
  return answers[n];
}

int ComputePermutationNumber(int* inversions, size_t size){
  int ret = 0;
  for(size_t i=0; i<size; ++i) ret+=inversions[i] * factorial(i);
  return ret;
}
Abstraction вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi. Поиск инверсий в массиве. Heles Помощь студентам 2 16.10.2011 22:07
Поиск номера телефона в текстовом файле biowoooooolf Паскаль, Turbo Pascal, PascalABC.NET 5 04.03.2011 15:11
Excel. Поиск символа и запись номера 4nik Microsoft Office Excel 8 21.09.2010 10:07
поиск порядкового номера в pascale счастливая Помощь студентам 1 17.05.2010 19:07
Поиск номера положительной строки матрицы J0n1cK Паскаль, Turbo Pascal, PascalABC.NET 0 14.05.2009 00:56