![]() |
|
Модераторы: Poseidon |
![]()
|
|
| apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 10 Всего: 23 |
На днях тут решали задачку возникла задачя попроще
даны числа 12345 найти количество комбинаций разных которые можно составить из этих чисел чтоб все цифры присутствовали.
Это сообщение отредактировал(а) Kuvaldis - 7.1.2007, 11:51 -------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
| AlexArs |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 25.9.2006 Где: Приморский край Репутация: 5 Всего: 5 |
--------------------
Тихоокеанский Государственный Экономический Университет |
|||
|
||||
| apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 10 Всего: 23 |
Обоснуйте пожалуйста формулу Без повторений, а то для меня
выглядит как потому-что. -------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
| AlexArs |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 25.9.2006 Где: Приморский край Репутация: 5 Всего: 5 |
apook,
![]()
т.е. в размещении без повторений цифра повторятся не может!!! понел --------------------
Тихоокеанский Государственный Экономический Университет |
|||
|
||||
| apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 10 Всего: 23 |
Я тут придумал свой способ и в нем мне достаточно знать что
что каждая цифра числа когда то будет первой и это будет повторяться n-раз
-------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
| AlexArs |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 25.9.2006 Где: Приморский край Репутация: 5 Всего: 5 |
apook,
Тебе че надо это в С++ сделать? На будущее:
А то я использовал комбинаторику!!! --------------------
Тихоокеанский Государственный Экономический Университет |
|||
|
||||
| apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 10 Всего: 23 |
Не все нормально мне важна суть а в код просто перевел ради Demo
Да я и не знаю как в комбинаторике изобразить x=1 x=x+x=2 x=x+x+x=6 x=x+x+x+x=24 и т.д именно так выглядит изобретенный мной способ Это сообщение отредактировал(а) apook - 7.1.2007, 09:39 -------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
| apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 10 Всего: 23 |
Вот полностью n=(общее количество цифер) - 1 x=1 x=x+x=2 x=x+x+x=6 x=x+x+x+x=24 и так делать пока n раз затем x * n . как будет в комбинаторике -------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
| AlexArs |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 25.9.2006 Где: Приморский край Репутация: 5 Всего: 5 |
apook,
К твоей задаче можно использовать формулу: A = n!, где n - количество цифр в числе, А - кол-во комбинаций. Нельзя использовать 0 (будет уже другая формула) Добавлено @ 10:17 apook, А=(n-1)!*(n-1) где n - количество цифр в числе, А - кол-во комбинаций. Эта формула если среди данных цифр есть 0. Это сообщение отредактировал(а) AlexArs - 7.1.2007, 10:13 --------------------
Тихоокеанский Государственный Экономический Университет |
|||
|
||||
| apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 10 Всего: 23 |
Я извиняюсь что я дубовый но я ни че не понял
мне надо сделать именно то что я написал там не будет ни каких повторений(однако)
помоему это немного другой смысл(надо подумать) у меня x это количество повторений одной цифры (первой на момент когда в числе n+1 цифр) +1 это как-раз для той цифры Реши пожалуйста не меняя смысла Это сообщение отредактировал(а) apook - 7.1.2007, 10:34 -------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
| AlexArs |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 25.9.2006 Где: Приморский край Репутация: 5 Всего: 5 |
Если тебе нужна программа для того чтобы считала количество комбинаций из n чисел, то:
Если среди цифр есть 0, то A = n!, где n - количество цифр в числе, А - кол-во комбинаций. Если среди цифр нет 0, то А=(n-1)!*(n-1) где n - количество цифр в числе, А - кол-во комбинаций. Примеры, например n=4: Цифры: 0,1,2,3. Найти количество разных комбинаций которые можно составить из этих чисел чтоб все цифры присутствовали. A=4!=(4-1)!*(4-1)=3!*3=1*2*3*3=18, или ![]() Первой число размещений из 3 по 1, а не из 4по 1 потому, что число на ноль не начинается! Цифры: 1,2,3,4. Найти количество разных комбинаций которые можно составить из этих чисел чтоб все цифры присутствовали. A=4!=1*2*3*4=24, или ![]() Если непонел пиши --------------------
Тихоокеанский Государственный Экономический Университет |
|||
|
||||
| AlexArs |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 25.9.2006 Где: Приморский край Репутация: 5 Всего: 5 |
Тебе надо чтобы считало по комбинации чисел или по комбинации цифр, т.е. n-значных чисел или последовательность цифр?
--------------------
Тихоокеанский Государственный Экономический Университет |
|||
|
||||
| apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 10 Всего: 23 |
Спасибо большое AlexArs за разжевывание и за участие
но вот меня заинтересовали не стандартные решения, как еще можно подойти к решению произошло это потому, что я еще ког да не знал этого решения 5*4*3*2*1, сдуру придумал свое и оно функционально. И как ты понимаешь оно (почему-бы это) мне нравится больше чем оффициальное(по правильной формуле). Всвязи с этим может кому-то нечего делать(как мне)попробуйте решить ету задачю другим путем БУДУ РАД ЛЮБЫМ ИДЕЯМ
последовательность цифр Это сообщение отредактировал(а) apook - 7.1.2007, 12:41 Присоединённый файл ( Кол-во скачиваний: 6 )
___________.gif 18,73 Kb-------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
| Pete |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 318 Регистрация: 5.1.2006 Где: Москва Репутация: 7 Всего: 12 |
Если я правильно понял, то условие звучит так:
Что значит «официальное»? Любое решение будет правильным, если ты сможешь его объяснить. По-моему, вообще лучше не запоминать некоторых простейших формул из комбинаторики (размещения, перестановки). Смотри: у нас есть 5 позиций и 5 цифр. На 1-ю позицию можно поставить любую из этих 5-ти (5 вариантов), после чего останется уже 4 цифры и 4 свободные позиции. На 2-ю позицию можно поставить любую из 4-х оставшихся (4 варианта), причем независимо от 1-ой позиции. ... На 1-ю позицию можно поставить только 1-ну оставшуюся цифру, то есть только одним единственным способом. Так как постановки на каждую позицию независимы друг от друга, мы (по теореме умножения) перемножаем получившиеся количества вариантов: P = 5*4*3*2*1 = 5! = 120.
В чем заключается твой способ? Добавлено @ 16:09 Кажется, понял. Формально он ничем не отличается от факториала:
Только вот как ты это объяснять собираешься, и что такое x??.. -------------------- Совет учиться на ошибках других бесполезен; научиться чему-либо можно только на собственных ошибках. (Бернард Шоу) Не откладывай на завтра то, что можешь сделать сегодня. (Пословица) А теперь выпишем точное значение числа пи... (Препод) Жахни, Пендальф! © Гоблин |
||||||
|
|||||||
| AlexArs |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 25.9.2006 Где: Приморский край Репутация: 5 Всего: 5 |
A = n! - получается эта формула тебе нужна Это он о стандартных формулах комбинаторики! Не повторяйся, я это ему уже писал
Зачем все усложнять, если чисто логически подумать можно намутить еще формулы, но мне кажется, что проще этой формулы A = n! нету Не зря же стока ученых математиков бились над этими формулами, и вывели свой стандарт Ой чето меня на лирику потянуло --------------------
Тихоокеанский Государственный Экономический Университет |
|||
|
||||
| apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 10 Всего: 23 |
Я в комбинаторике болван а обьяснить я попыцтался в присоединенном
файле
ну не так уж прямо серьезно x это переменная -------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
| Pete |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 318 Регистрация: 5.1.2006 Где: Москва Репутация: 7 Всего: 12 |
Написал, только зачем-то усложнил это расстановками. Ты же не будешь доказывать, что предел
по правилу Лопиталя-Бернулли? Как говорил один мой препод, «хоть горшком назови, главное определи, что такое горшок»... Что в твоем случае хранит x? -------------------- Совет учиться на ошибках других бесполезен; научиться чему-либо можно только на собственных ошибках. (Бернард Шоу) Не откладывай на завтра то, что можешь сделать сегодня. (Пословица) А теперь выпишем точное значение числа пи... (Препод) Жахни, Пендальф! © Гоблин |
|||
|
||||
| Sunvas |
|
|||
|
Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 7 Всего: 89 |
Я на Делфи уже все реализовал. Остается что-бы кто-то проконвертировал в С++
http://forum.vingrad.ru/index.php?showtopi...st&p=883003 -------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
| Pete |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 318 Регистрация: 5.1.2006 Где: Москва Репутация: 7 Всего: 12 |
А зачем здесь программа? Для вычисления n! ?
-------------------- Совет учиться на ошибках других бесполезен; научиться чему-либо можно только на собственных ошибках. (Бернард Шоу) Не откладывай на завтра то, что можешь сделать сегодня. (Пословица) А теперь выпишем точное значение числа пи... (Препод) Жахни, Пендальф! © Гоблин |
|||
|
||||
| Sunvas |
|
|||
|
Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 7 Всего: 89 |
Для получения результата -------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
| Pete |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 318 Регистрация: 5.1.2006 Где: Москва Репутация: 7 Всего: 12 |
-------------------- Совет учиться на ошибках других бесполезен; научиться чему-либо можно только на собственных ошибках. (Бернард Шоу) Не откладывай на завтра то, что можешь сделать сегодня. (Пословица) А теперь выпишем точное значение числа пи... (Препод) Жахни, Пендальф! © Гоблин |
|||
|
||||
| Sunvas |
|
|||
|
Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 7 Всего: 89 |
Если есть символы 1 2 3 4 5, то программа может посторить из них все возможные числа от 12345 до 54321. Алгоритм мой. Опен сорц -------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
| apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 10 Всего: 23 |
Алгоритм у тебя конечно Опен Сорц и это хорошо но вот сложноват он в плане
реализации на каком-либо языке пр.( чем меньше строчек тем лучше ) для нача ла надо было наверно на Pascale написать тем более для учебных целей Код на чистом Cи для подсчета неповторяющихся комбинаций из любого сочетания неповторяющихся цифр
-------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
| Sunvas |
|
|||
|
Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 7 Всего: 89 |
Моей задачей было написать функции для комбинаторики. (всех ее типов сочетание, размещение, перестановки. Как с повтором так и без). Код и так меньше не придумаешь. Возможно несколько сложн для воспринимания, зато работает безотказно. -------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
| Pete |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 318 Регистрация: 5.1.2006 Где: Москва Репутация: 7 Всего: 12 |
Извини, это уже другая задача. Спрашивалось вот что:
Хотя на русский это переводится с трудом, словосочетание «найти количество», вроде, не предполагает реализации алгоритма перебора, или печати, всех таких перестановок. Но с точки зрения программиста, реализованная тобой задача, конечно более интересна Так и не понял, какую задачу он решает и как работает... -------------------- Совет учиться на ошибках других бесполезен; научиться чему-либо можно только на собственных ошибках. (Бернард Шоу) Не откладывай на завтра то, что можешь сделать сегодня. (Пословица) А теперь выпишем точное значение числа пи... (Препод) Жахни, Пендальф! © Гоблин |
||||
|
|||||
| apook |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 10 Всего: 23 |
Я вот этого не понял Я создал этот топик и задача которую я решаю несколько другая чем была в тотраз
количество комбинаций я как-раз и нахожу и не в лоб (перебором и т.п) а по некому алгоритму В будущем напишу с выводом всех комбинаций по этому-же алгоритму а сейчас только подсчет всех возможных комбинаций причем начальное число можер быть любого вида 11258674445 или 4444444444444 и т.д тут лишка конечно дал! Это сообщение отредактировал(а) apook - 8.1.2007, 16:34 -------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
||||
|
|||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |