Добро пожаловать, гость
:: алгоритмы  и методы :: :: олимпиадные задачи :: :: связь :: :: о сайте :: :: форум ::

Форум работает в режиме архива, только для чтения и поиска.
Архив 2004 Архив 2007 Архив 2013

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.03.2008, 13:56
Новичок

Отправить личное сообщение для MaxFlow Посмотреть профиль Найти все сообщения от MaxFlow
 
Регистрация: 20.03.2008
Сообщений: 7

Размещения - Нужна помощь!
Если кто знает, как сгенерировать все размещения (без повторений) из n по k для n натуральных чисел, пожалуйста напишите(желательно на С).....
  #2  
Старый 20.03.2008, 14:43
гость

 
Сообщений: n/a

Не например так, если k = константа:
Код:
for (a = 0; a < n; a++)
for (b = 0; b < n; b++) if (b != a)
for (c = 0; c < n; c++) if (c != a && c != b)
....
for (z = 0; z < n; z++) if (z != a && z != b && ... && z != y) {
  // a,b,c,...,z - размещение размера k из множества {0,1,2,...,n-1}
}
Если не константа, то просто вынеси все циклы в рекурсию:
Код:
int a[], n, k;
void doit(int i) {
  if (i == k) {
    // a[0],a[1],...,a[k-1] - размещение
  } else {
    int j;
    for (a[i] = 0; a[i] < n; a[i]++) {
      for (j = 0; j < i; j++) if (a[i] == a[j]) break;
      if (j == i) doit(i+1);
    }
  }
}
  #3  
Старый 20.03.2008, 15:31
Новичок

Отправить личное сообщение для MaxFlow Посмотреть профиль Найти все сообщения от MaxFlow
 
Регистрация: 20.03.2008
Сообщений: 7

Спасибо, а чему должно быть равно i ?
  #4  
Старый 20.03.2008, 16:03
гость

 
Сообщений: n/a

Неужели не очевидно, что нулю?
  #5  
Старый 25.02.2010, 10:02
гость

 
Сообщений: n/a

задача
люди, помогите плииз решить задачу, это по математике 8 класса, буду оч благодарна, если решите.вот задача:нарисуйте на плоскости шесть прямых так, чтобы они пересекались ровно в шести различных точках.
  #6  
Старый 25.02.2010, 10:06
гость

 
Сообщений: n/a

задача 2
помогите решить олимпиадную задачу, желательно побыстрее, всем заранеее огромное спасибо)))))))))вот сама задача:найти наименьшее число начинающееся с цифр 2008 и делящееся на все цифры от 1 до 9.
жду....
  #7  
Старый 25.02.2010, 15:27
гость

 
Сообщений: n/a

не решим - оффтопик.
 


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужна помощь в решении задачи. Alexdm Математические алгоритмы 2 27.03.2008 23:35
нужна помощь cheater_Ok Реализация, исходники, языки 5 15.03.2008 16:49
размещения с повторениями на с++ Норе Реализация, исходники, языки 3 14.11.2007 16:21
Очень нужна срочно помощь DixonD Математические алгоритмы (другое) 1 25.09.2007 17:10
количество вариантов размещения шаров в корзинах BreakPoint Математические алгоритмы (другое) 10 11.07.2007 12:24