LINUX.ORG.RU

Комбинаторики не знаю

Никак

fornlr ★★★★★
()

сначала подучи теорию чисел

Bad_ptr ★★★★★
()

Комбинаторики не знаю. Гугл результатов не даёт.

Довольно часто достаточно интуитивного понимания задачи.

количество всех целых чисел в диапазоне от Х до Y у которых встречаются одинаковые десятичные цифры?

Тебе нужно найти количество всех целых чисел в заданном диапазоне, у которых хотя бы две цифры любого разряда одинаковы?

Bagrov ★★★★★
()
Ответ на: комментарий от Bagrov

Тебе нужно найти количество всех целых чисел в заданном диапазоне, у которых хотя бы две цифры любого разряда одинаковы?

да

next_time ★★★★★
() автор топика

В Job. $1000. Результат будет через минуту после зачисления денег.

gremlin_the_red ★★★★★
()
Ответ на: комментарий от Bagrov

интуитивного понимания

вот вроде понятно, что задача сводится к количеству вариантов перестановки цифр в n значном числе, число можно представить как множество:

75589 = {7, 5, 5, 8, 9}, но непонятно, как найти количество размещений 5-к, например

next_time ★★★★★
() автор топика

Возможно, проще найти количество чисел, у которых все цифры различны, и вычесть это число из количества всех чисел

TheAnonymous ★★★★★
()
Ответ на: комментарий от next_time

было бы проще, если бы не было диапазона X Y, а просто задача уровня кол-во перестановок найти в N значном числе.

это даст кол-во уникальных N значных чиселок без повторений цифр.

в итоге останется только вычесть это кол-во из общего числа и дело в шляпе.

а как под диапазон подстроиться - хз.

потанцевально, можно пытаться искать минимальную и максимальную перестановку входящую в диапазон и получать их нее номера, и считать сколько там между ними в итоге еще перестановок находится. (т.к. перестановки упорядочены в легкиграфическом порядке, то это прокатывает и с чиселками)

ну и для диапазона X Y надо будет проходиться по всем длинам чисел.

n_play
()
Ответ на: комментарий от next_time

множество

Насколько я помню, это называется кортеж или упорядоченная энка. Скобки угловые. В Питоне – круглые.

Задача интересная, но сейчас слишком занят, чтобы ломать голову. Думаю, пока освобожусь, кто-то уже накидает ссылок на матчасть, сообразит решение или притащит готовое.

Bagrov ★★★★★
()

Это что-то из разряда задачек из https://projecteuler.net/, в виде формулы это вряд ли решишь. Если надо знать что-нибудь про это число (оценку какую-нибудь) - думай. Если надо это число просто вычислить - придумывай алгоритм. Я бы думал в сторону: разбить диапазон на диапазоны вида XXX000-XXX999, тогда на каждом из них комбинаторика простая - вычисляешь количество чисел без повторений (скажем 3 цифры фиксировали и они все разные, значит на первое место 7 вариантов, на второе 6, на третье 5), вычитаешь из общего количества.

dumdum
()
Последнее исправление: dumdum (всего исправлений: 3)

Как найти

Поищи в «Онлайн-энциклопедия целочисленных последовательностей» © – > «The On-Line Encyclopedia of Integer Sequences»® (OEIS®) Wiki ©.

Но проще использовать унарную систему: 1, 11, 111, … ©, в которой «ихнее количество» = Y-X :)

quickquest ★★★★★
()

У любого числа, в записи которого есть 11 разрядов (или больше), одинаковые цифры будут гарантированно.

Среди 10-разрядных чисел, есть (9!*9) чисел, не имеющих одинаковых цифр в своей записи.

Среди 9-разрядных чисел, есть (9!/1!*9) чисел, не имеющих одинаковых цифр в своей записи.

Среди 8-разрядных чисел, есть (9!/2!*9) чисел, не имеющих одинаковых цифр в своей записи.

Среди 7-разрядных чисел, есть (9!/3!*9) чисел, не имеющих одинаковых цифр в своей записи.

Среди 6-разрядных чисел, есть (9!/4!*9) чисел, не имеющих одинаковых цифр в своей записи.

Среди 5-разрядных чисел, есть (9!/5!*9) чисел, не имеющих одинаковых цифр в своей записи.

Среди 4-разрядных чисел, есть (9!/6!*9) чисел, не имеющих одинаковых цифр в своей записи.

Среди 3-разрядных чисел, есть (9!/7!*9) чисел, не имеющих одинаковых цифр в своей записи.

Среди 2-разрядных чисел, есть (9!/8!*9) чисел, не имеющих одинаковых цифр в своей записи.

Среди 1-разрядных чисел, есть (9!/9!*9) чисел, не имеющих одинаковых цифр в своей записи. С оговоркой, что ноль мы за одноразрядное число не считаем.

Manhunt ★★★★★
()
Ответ на: комментарий от n_play

потанцевально, можно пытаться искать минимальную и максимальную перестановку входящую в диапазон и получать их нее номера, и считать сколько там между ними в итоге еще перестановок находится. (т.к. перестановки упорядочены в легкиграфическом порядке, то это прокатывает и с чиселками)

Да, наверное, именно так и надо решать.

Manhunt ★★★★★
()
Ответ на: комментарий от dumdum

в виде формулы это вряд ли решишь.

придумывай алгоритм

Если выйти за пределы школьной математики, обнаружится, что ты только что поделил на ноль. Потому что решение в виде формулы – это функция. И алгоритм – тоже функция.

Bagrov ★★★★★
()

Задача, похоже, все равно прикладная и какой-то перебор потребуется. Можно вообще тупо решить в лоб - последовательно делить каждое число от Х до Y целочисленно с остатком на 10 до тех пор пока результат не станет равным 0, остатки складировать, поочередно вычитать друг из друга, если ноль - переходим к следующему числу )

vaddd ★☆
()

Кстати, в духе времени можно решить перебором. Не, ну а че, памяти и ядер много)00)))

BceM_IIpuBeT ★★☆☆☆
()
Ответ на: комментарий от Bagrov

Если выйти за пределы школьной математики

Обижаете

Потому что решение в виде формулы – это функция. И алгоритм – тоже функция

А толку? Ну да, формулой что угодно записать можно, если очень хочется, а хотелось бы иметь сравнительно короткую и практически полезную, вот мне не кажется, что такая есть. Демагогию какую то пишете

dumdum
()
Ответ на: комментарий от vaddd

задача похожу индикатор, на тех, кто хоть иногда немного и обрывочно обучался cs (по всяким кнутам и корманам).

и вайтишников с двухнедельных курсов.

n_play
()

Математика тебе скажет: числа от 10^10 и выше — точно содержат одинаковые цифры (по принципу Дирихле), а остальное — конечный перебор.

Miguel ★★★★★
()

Смутно припоминается, что была какая-то формула, связанная с подсчётом N-значных чисел без повторяющихся цифр. 10, 10*9, 10*9*8, 10*9*8*7, 10*9*8*7*6, 10*9*8*7*6*5, 10*9*8*7*6*5*4, 10*9*8*7*6*5*4*3, 10*9*8*7*6*5*4*3*2, 10*9*8*7*6*5*4*3*2*1, 10*9*8*7*6*5*4*3*2*1*0.

olegd ★★★
()
Ответ на: комментарий от cvs-255

в любом числе, большем чем десять десятичных разрядов, хоть один раз но цифры повторятся )

vaddd ★☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.