47 / 47 / 15
Регистрация: 09.03.2011
Сообщений: 584
|
|
1 | |
Алгоритм разложения чисел02.03.2013, 05:45. Показов 1062. Ответов 6
Метки нет (Все метки)
Доброго времени суток,не знаю правильно ли я выбрал тему,да и не уверен есть ли ответ на мой вопрос.
Ситуация такая есть некоторое количество n>2 неодинаковых чисел необходим алгоритм используя который: а) произвести над ними действия и получить число,пусть z б)с помощью этого же алгоритма получить из z на изначальные числа буду благодарен любому ответу,даже если это невозможно
0
|
02.03.2013, 05:45 | |
Ответы с готовыми решениями:
6
Алгоритм разложения суммы на неизвестные члены алгоритм разложения функции Алгоритм Брезенхема для разложения отрезка в растр Универсальный алгоритм разложения любого целого числа |
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
|
02.03.2013, 21:25 | 2 |
А в чём сложность ? Создаёш массив (динамический - если кол-во элементов за ранее не известно), и потом над каждым числом производиш действия, правда ты не указал какое... Если и действия могут быть разными, то нужно создавать функции с всевозможными операциями...
Ну например... У нас 3 числа, в математике 8-11 классов, помнится были задачки на подобную тему, когда давались n уравнений (n строк), они были соединены скобками фигурными, в итоге нужно было узнать х и у. Типа: 4x+3=2y 8y-5x=6 Считали просто: (4x+3)/2=y, потом заменяем все у на это уравнение. 4x+3=2*((4x+3)/2) и 8*((4x+3)/2)-5x=6... Находим Х. Чтоб такое провернуть в реальной программе, то для начала нужно научиться создавать подобные уравнения с занесением данных и т.п. Это достаточно сложно сделать.... Но результат будет этого стоить, можно будет даже создавать графические иллюстрации уравнений - полезная штука =)
0
|
47 / 47 / 15
Регистрация: 09.03.2011
Сообщений: 584
|
|
02.03.2013, 22:00 [ТС] | 3 |
смысл в том чтоб в одно число n записать некоторое количество чисел z(количество знаков чисел z заранее известно),то есть нужна формула в которой производим действия над числами,получаем результируещее число,затем arcформулой разбираем это число на составляющие.
Кроме как (числа из 3-х знаков пусть 255,366,346...) x=1000 m(результирующее число) m=число1*x+число2*x*x+число3*x*x*x....... а разложить на составляющее с помощью деления по модулю ничего в голову не приходит но такой вариант не подходит так как при количестве 6-ти знаковых чисел больше 5 никакой тетради не хватит для записи
0
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
|
03.03.2013, 06:43 | 4 |
Ну создаём динамический массив, в котором храним 1 - само число, 2 - кол-во символов в нём, и ещё один массив(я так понял чисел будет много) - результирующих чисел.
Я если често так и не понял суть задачи, как то коряво объяснили =) Но если 3 числа z1 z2 z3 по порядку перевести в char, и методом strcpy/strcat -> тупо дописывать их друг на друга, получим в результате число(в начале char, потом переводим atoi) n, состоящее из z1z2z3 (все символы данных 3-ёх идут по порядку). Разбирать число n нужно опять же - преобразуем в char, отделяем strcpy - 3 части(предварительно взяв из массива кол-во знаков этих 3 чисел), преобразуем в int, записываем в выходной массив... Кстати, покапайтесь в сторону шифрации, в книжках по Си, там есть достаточно пищи для ума, чтоб "придумать" свой алгоритм. Интересен подход - "ключевое слово"...
0
|
47 / 47 / 15
Регистрация: 09.03.2011
Сообщений: 584
|
|
03.03.2013, 09:04 [ТС] | 5 |
да в принципе то же,только выполняться будет малёхо дольше чем умножение и деление.
Вообще цель запаковать в 4 байта последовательность из 786432 чисел от 0 до 16777216,идея конечно бредовая но...написать хотя бы алгоритм(ключ для запаковки распаковки) минимально короткий Добавлено через 11 минут диапазон чисел от 0 до16777216 а не последовательность Добавлено через 31 минуту аналог архиватора только архиватор удаляет повторяющийся код а для восстановления использует ключ(карту повторений) а я хотел 1)разбить код на числа 2) подобрать алгоритм последовательности математический действий (ключ) дабы можно было собрать все эти числа в одно а затем руководствуясь этим ключём разобрать обратно,ключ не должен быть больше 8байт иначе в этом не будет смысла. Спасибо хоть буду знать куда копать не посоветуете что нибудь из литературы по "шифрации" из собственного опыта
0
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
|
03.03.2013, 09:28 | 6 |
Ну у меня есть книжка По С++ (Автор Максим Динман) : Освой на примерах (2006 год, <БВХ-Петербург>). Там в самом конце книги есть описание и пример к шифрованию, я как раз про эту небольшую книжонку и вспоминал, очень хорошо когда есть такие небольшие книжонки с полными программами =)
А вообще я собственно не очень профессиональный программер чтоб советовать =) Из книг имею всего 3 по Си, (2 с примерами и 1 - мат часть Хабибулина), так и учился по сути программить =) +гугл в помощь, а вообще для меня очень полезно было как хобби изучать Direct Draw, занимательно и можно всякие алгоритмы подчерпнуть из экзотического "мнимого 3д" программинга ( Фленов Михаил автор хороших книг по C++ и DirectX, а так же созданию игр на С++). Попозже подумаю по поводу вашей шифровки, может чё в голову придёт )
1
|
1824 / 732 / 99
Регистрация: 01.10.2012
Сообщений: 3,751
|
|
03.03.2013, 09:41 | 7 |
Ну можно аппроксимировать данные полиномом или преобразованиями Фурье (как делает jpeg) и потом записать коэффициенты этих преобразований. Но в этом случае исходные данные будут восстановлены с погрешностью, т.е. это сжатие с потерями.
Вообще Вы выбрали довольно неблагодарную тему - здесь трудно придумать что-то новое с нуля
1
|
03.03.2013, 09:41 | |
03.03.2013, 09:41 | |
Помогаю со студенческими работами здесь
7
Число вариантов разложения четных чисел на сумму простых чисел Алгоритм разложения простого числа на сумму двух квадратов Записать алгоритм нахождения канторового разложения произвольного числа а Реализовать алгоритм разложения по двум корзинам пронумерованных шаров Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |