У меня есть семнадцать чисел:
3 12 13 17 18 34 36 1 6 7 8 14 16 22 28 31 32
Необходимо создать из них ВСЕ возможные ШЕСТИЗНАЧНЫЕ комбинации, т. е.:
1; 3; 12; 18; 34; 36;
3; 7; 8; 17; 18; 34;
и т. п. . Буду очень признателен за любую дельную наводку!
Техника
Привет всем! Кто-нибудь может помочь наводкой на хороший генератор комбинаций чисел? Того, что мне надо сам не нашёл.
могу написать программу по комбинаторике.
вообще непонятно, о чем вы. Что такое "генератор чисел" bult у вас хоть одна шестизначная комбинация?
если вы про перестановки - так в С++ в STL есть генератор перестановок. Там все просто.
если вы про перестановки - так в С++ в STL есть генератор перестановок. Там все просто.
Юрий Чижов
Привожу пример, (из того, чем мне вчера помогли, но, увы - данные запросы изменились, и это уже неактуально).
Например, вчера у меня было 7 чисел подлежащих генерации, вот они:
3 12 13 17 18 34 36
А вот помощь, которую я получил:
по формуле 7!/6!*(7-6)!=7 сочетаний. 3,12,13,17,18,34; 3,12,13,17,18,36; 12,13,17,18,34,36; 3,13,17,18,34,36; 3,12,13,18,34,36; 3,12,17,18,34,36; 3,12,13,17,34,36
Например, вчера у меня было 7 чисел подлежащих генерации, вот они:
3 12 13 17 18 34 36
А вот помощь, которую я получил:
по формуле 7!/6!*(7-6)!=7 сочетаний. 3,12,13,17,18,34; 3,12,13,17,18,36; 12,13,17,18,34,36; 3,13,17,18,34,36; 3,12,13,18,34,36; 3,12,17,18,34,36; 3,12,13,17,34,36
Написать программу - один час, но оно мне не надо
А драть с тебя деньги за такую ерунду - стыдно.
А драть с тебя деньги за такую ерунду - стыдно.
#include
using namespace std;
void swap(int *a, int i, int j)
{
int s = a[i];
a[i] = a[j];
a[j] = s;
}
bool NextSet(int *a, int n)
{
int j = n - 2;
while (j != -1 && a[j] >= a[j + 1]) j--;
if (j == -1)
return false; // больше перестановок нет
int k = n - 1;
while (a[j] >= a[k]) k--;
swap(a, j, k);
int l = j + 1, r = n - 1; // сортируем оставшуюся часть последовательности
while (l<r)
swap(a, l++, r--);
return true;
}
void Print(int *a, int n) // вывод перестановки
{
static int num = 1; // номер перестановки
cout.width(3); // ширина поля вывода номера перестановки
cout << num++ << ": ";
for (int i = 0; i < n; i++)
cout << a[i] << " ";
cout << endl;
}
int main()
{
int n, *a;
cout << "N = ";
cin >> n;
a = new int[n];
for (int i = 0; i < n; i++)
a[i] = i + 1;
Print(a, n);
while (NextSet(a, n))
Print(a, n);
cin.get(); cin.get();
return 0;
}
using namespace std;
void swap(int *a, int i, int j)
{
int s = a[i];
a[i] = a[j];
a[j] = s;
}
bool NextSet(int *a, int n)
{
int j = n - 2;
while (j != -1 && a[j] >= a[j + 1]) j--;
if (j == -1)
return false; // больше перестановок нет
int k = n - 1;
while (a[j] >= a[k]) k--;
swap(a, j, k);
int l = j + 1, r = n - 1; // сортируем оставшуюся часть последовательности
while (l<r)
swap(a, l++, r--);
return true;
}
void Print(int *a, int n) // вывод перестановки
{
static int num = 1; // номер перестановки
cout.width(3); // ширина поля вывода номера перестановки
cout << num++ << ": ";
for (int i = 0; i < n; i++)
cout << a[i] << " ";
cout << endl;
}
int main()
{
int n, *a;
cout << "N = ";
cin >> n;
a = new int[n];
for (int i = 0; i < n; i++)
a[i] = i + 1;
Print(a, n);
while (NextSet(a, n))
Print(a, n);
cin.get(); cin.get();
return 0;
}
Юрий Чижов
Привожу пример, (из того, чем мне вчера помогли, но, увы - данные запросы изменились, и это уже неактуально).
Например, вчера у меня было 7 чисел подлежащих генерации, вот они:
3 12 13 17 18 34 36
А вот помощь, которую я получил:
по формуле 7!/6!*(7-6)!=7 сочетаний. 3,12,13,17,18,34; 3,12,13,17,18,36; 12,13,17,18,34,36; 3,13,17,18,34,36; 3,12,13,18,34,36; 3,12,17,18,34,36; 3,12,13,17,34,36
Например, вчера у меня было 7 чисел подлежащих генерации, вот они:
3 12 13 17 18 34 36
А вот помощь, которую я получил:
по формуле 7!/6!*(7-6)!=7 сочетаний. 3,12,13,17,18,34; 3,12,13,17,18,36; 12,13,17,18,34,36; 3,13,17,18,34,36; 3,12,13,18,34,36; 3,12,17,18,34,36; 3,12,13,17,34,36
Я могу, проверишь, выйграешь, мне 10 процентов, но без обмана
Петр Коробков
Я не обману если поможешь .Только я математике ноль
Юрий Чижов
Сегодня уже поздно.
Результатов не прошу, но укажи, пожалуйста, хотя-бы, полное количество необходимых комбинаций. Если это будет реально для меня по деньгам - то к следующему тиражу (на этой неделе), обращусь к тебе.
Насчёт денег можешь не беспокоиться. Во всём мире никому ни одной копейки не должен.
Результатов не прошу, но укажи, пожалуйста, хотя-бы, полное количество необходимых комбинаций. Если это будет реально для меня по деньгам - то к следующему тиражу (на этой неделе), обращусь к тебе.
Насчёт денег можешь не беспокоиться. Во всём мире никому ни одной копейки не должен.
100 $ .
готовых программ не найдешь, нужно писать под заказ!
Любой начинающий программист тебе это сделает за несколько часов. Поищи близко к дому.
на лабе такую прогу писали... вон 1 уже гготов написать
Интернет в прмощь
Юрий Чижов
Я же написал в вопросе: того, что мне надо сам не нашёл.
Несколько часов потратил на поиски.
Несколько часов потратил на поиски.
Похожие вопросы
- Случайны ли выигрышные комбинации в игровх автоматах? Каков принцип? Генератор случайных чисел? Каковы шансы?
- Как посчитать возможное количество комбинаций чисел
- схема генератора случайных чисел
- Какая доля электроэнергии теряется от генератора до потребителя? Официальные данные. что-то не могу найти
- Блокинг генератор на строчнике. . помогите разобраться!
- Дайте пожалуйста всевозможные пятизначные комбинации из чисел 1 2 3 очень срочно (кто напишет, дам лучший отве
- В подъезде прилично лет било током наверное года 4 подряд. Создавались наводки типа ЭДС, жильцы многие в курсе.
- Будет ли профит если генератор динамо закрепить на велосипеде а вместо ручки для вращения генератора прицепить пропелер?
- Выбивает автомат на генераторе трёхфазном!
- Вопрос по генераторам электростанций. В пояснениях.
Таких в сети много, но именно составляющего шестизначные связки всех возможных сочетаний чисел от единицы до 40 - не нашёл, увы (
Привожу конкретный пример:
Например, вчера у меня было 7 чисел подлежащих генерации, вот они:
3 12 13 17 18 34 36
А вот помощь, которую я получил:
по формуле 7!/6!*(7-6)!=7 сочетаний. 3,12,13,17,18,34; 3,12,13,17,18,36; 12,13,17,18,34,36; 3,13,17,18,34,36; 3,12,13,18,34,36; 3,12,17,18,34,36; 3,12,13,17,34,36;
Сегодня же, оказалось, что числа другие и их больше:
(всего 17):
3 12 13 17 18 34 36
1 6 7 8 14 16 22 28 31 32
и из них мне нужно создать ВСЕ возможные шестизначные сочетания, а также узнать КОЛИЧЕСТВО возможных ШЕСТИЗНАЧНЫХ сочетаний.