Спецефична логическа задача
Здравейте, според вас този тип задача може ли да се направи на програма, как да подходя, изисква ли по-специфичен алгоритъм, не съм решавал задачи с от курса за алгоритми и може ли да се реши според вас без конкретен алгоритъм, ще се радвам на всяка насока.
Задачата:
Да се намери най-късият стринг(последователност от цифри), който съдържа всички комбинации от 4 цифри от 0000 до 9999! Да се докаже, че няма по-кратък!
Това решение не дава най-късият стринг, защото в него има повторения.
Ако погледнем комбинацията от 4 нули "0000", предложеното решение ще генерира тази последователност 4 пъти пъти в самото начало:
1. "000000010002...."
2. "000000010002...."
3. "000000010002...."
4. "000000010002...."
Прав си. благодаря, аз просто въртя през всички комбинации без никакви проверки за повторения. Сега пък измислих нещо друго, с тази допълнителна проверка, премахва повторенията от стринга на комбинация и достигнах до най-къс стриг от 10124.
https://pastebin.com/sqhi7hDp
За друг вариант явно не се сещам, явно трябва да изчета някоя книга за алгоритми от онези по 1000 страници, направо затъпях
Това е решение ще премахне част от повторенията, но не всички.
Например, за първите 2 числа ще генерира:
00000001 вместо 00001
Ще има и подобни повторения:
00080009 .... 899990009001
Няма решаване този казус, баси задачите :D който успее, голям да порастне
Можете също да се обърнете към avatar game, която е много интересна програма.