Змінюй хід війни! Допомагай ЗСУ!

Поиск всех возможных комбинаций из цифр числа

🔴 19:58 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
Статус: Offline
Реєстрація: 13.08.2007
Повідом.: 380
  • 🔴 19:58 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #1
Поиск всех возможных комбинаций из цифр числа

Помогите разобратся с такой задачкой:
Вводится любое число. Нужно найти все возможные числа, которые можно составить с цифр исходного числа. Например, есть число 345, програмка должна выдать все комбинации:
3
4
5
34
43
33
44
55
35
53
....
345
453
354
543
....

вся сложность в том что не обязательно использовать все цифры.
 
  • 🔴 19:58 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #2
тебе число перестановок посчитать или вывести все комбинации?
 
  • 🔴 19:58 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #3
А из n по 1 + А из n по 2+ .... + A из n по n,
где n кол-во разрядов числа
А из n по к = размещения из n по к = n!/(n-k)!
 
  • 🔴 19:58 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #4
Klez сказав(ла):
тебе число перестановок посчитать или вывести все комбинации?

нужно вывести все комбинации чисел, составленых из цифер исходного, причем исходное число - абсолютно произвольное и может состоять из любого количества цифр
 
  • 🔴 19:58 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #5
ядро алгоритма - функция генерирующая все сочетания по двум аргументам - один символ, и массив остальных символов, вокруг нее рисуется цикл, имхо
 
  • 🔴 19:58 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #6
почитайте комбинаторику
 
  • 🔴 19:58 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #7
  • 🔴 19:58 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #8
нда. Гламур крепчает.
 
  • 🔴 19:58 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #9
нужно вывести все комбинации чисел, составленых из цифер исходного, причем исходное число - абсолютно произвольное и может состоять из любого количества цифр

а на скольки разрядном числе останавливаться? :D
 
  • 🔴 19:58 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #10
Помогите разобратся с такой задачкой:
Вводится любое число. Нужно найти все возможные числа, которые можно составить с цифр исходного числа. Например, есть число 345, програмка должна выдать все комбинации:
3
4
5
34
43
33
44
55
35
53
....
345
453
354
543
....

вся сложность в том что не обязательно использовать все цифры.

Легкая задача. Сначала превращаем число в строку. Удаляем одинаковые символы(цифры).
Потом выводи 1 символ, 1 и 2 символы, 1 и n символы
Потом проводится аналогичиная операция с второго символов
Сначала выводим 2, потом 2 и 3 и т.д.
Здесь видна закономерность засовываем это в два цикла и радуемся результату.
 
  • 🔴 19:58 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #11
Легкая задача. Сначала превращаем число в строку.

Я бы не сказал что задача такая легкая, а что будет твой цикл делать когда число разрядов выходного числа выростет до 50 к примеру? а когда до 1000000 разрядов? и ведь это не предел. Тут нужно делать свой тип данных с динамическим выделением памяти. А в комп по мере работы докупать память для хранения числа :D
 
  • 🔴 19:58 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #12
Я бы не сказал что задача такая легкая, а что будет твой цикл делать когда число разрядов выходного числа выростет до 50 к примеру? а когда до 1000000 разрядов? и ведь это не предел. Тут нужно делать свой тип данных с динамическим выделением памяти. А в комп по мере работы докупать память для хранения числа :D

Наверно я чтото не понимаю. Может это и не такая легкая задача. Объясни конкретней, что надо сделать?
Я просто не понимаю причем тут 50 разрядов. Нам надо составить максимальное колличество чисел из нужных цифр. цифр всего может быть девять. Остальное все будет дублироваться.
 
  • 🔴 19:58 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #13
Наверно я чтото не понимаю. Может это и не такая легкая задача. Объясни конкретней, что надо сделать?
Я просто не понимаю причем тут 50 разрядов. Нам надо составить максимальное колличество чисел из нужных цифр. цифр всего может быть девять. Остальное все будет дублироваться.

допустим имеем набор цифр: 12

комбинации:
1
2
11
22
12
21
111
112
121
122
211
212
221
222
1111
1112
.....
11111
11112
11121
...
111111
111112
111121
...
1111111
1111112

когда останавливаться? ;) :D

или вот пример проще, имеем набор цифр: 1

комбинации:
1
11
111
1111
11111
111111
1111111
11111111
111111111
1111111111
11111111111
и т.д. :)
 
  • 🔴 19:58 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #14
допустим имеем набор цифр: 12

комбинации:
1
2
11
22
12
21
111
112
121
122
211
212
221
222
1111
1112
.....
11111
11112
11121
...
111111
111112
111121
...
1111111
1111112

когда останавливаться? ;) :D

или вот пример проще, имеем набор цифр: 1

комбинации:
1
11
111
1111
11111
111111
1111111
11111111
111111111
1111111111
11111111111
и т.д. :)

Вот теперь задание понятно. Надо подумать
 
  • 🔴 19:58 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #16
Klez, какое самое большое число? Бесконечность. Отсюда вывод, что эту задачу решить невозожно. Если говорить серьезно. То конвертируем число в строку удаляем одинаковые цифры и понеслась. То что я написал выше то чушь. Всеравно считаю, что в задаче ничего сложного нет. Как для новичка очень хорошая разминка для мозгов.
 
  • 🔴 19:58 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #17
Доказательство 2*2=5
Посилання видалено

Что и требовалось доказать :D
 
  • 🔴 19:58 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #18
  • 🔴 19:58 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #19
Klez сказав(ла):
допустим имеем набор цифр: 12

комбинации:
1
2
11
22
12
21
111
112
121
122
211
212
221
222
1111
1112
.....
11111
11112
11121
...
111111
111112
111121
...
1111111
1111112

когда останавливаться?

или вот пример проще, имеем набор цифр: 1

комбинации:
1
11
111
1111
11111
111111
1111111
11111111
111111111
1111111111
11111111111
и т.д.

каждая цифра используется максимум раз в каждом числе выводимом программой, если исходное число 12, то программа должна вывести:
1
2
12
21
и все

если же задано число 22, то выводится:
2
22

если 1
то выводится:
1
 
Назад
Зверху Знизу