Форум программистов, компьютерный форум, киберфорум
Алгоритмы
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
47 / 47 / 15
Регистрация: 09.03.2011
Сообщений: 584
1

Алгоритм разложения чисел

02.03.2013, 05:45. Показов 1062. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток,не знаю правильно ли я выбрал тему,да и не уверен есть ли ответ на мой вопрос.
Ситуация такая есть некоторое количество n>2 неодинаковых чисел необходим алгоритм используя который:
а) произвести над ними действия и получить число,пусть z
б)с помощью этого же алгоритма получить из z на изначальные числа
буду благодарен любому ответу,даже если это невозможно
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.03.2013, 05:45
Ответы с готовыми решениями:

Алгоритм разложения суммы на неизвестные члены
Доброго времени суток, ув.тов. программисты. Большая просьба помочь в оптимизации алгоритма...

алгоритм разложения функции
y(x)=Pi*x/((e^3x)-1). Я пробовал делать два раза но препод не принял. Даже не объяснил, что делать....

Алгоритм Брезенхема для разложения отрезка в растр
помогите разобраться с этим алгоритмом, перечитал много сайтов, но че то никак не врублюсь, вот как...

Универсальный алгоритм разложения любого целого числа
Помогите в доработке алгоритма программы,она раскладывает на множители методом факторизации только...

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
Цитата Сообщение от ijonhson Посмотреть сообщение
2) подобрать алгоритм последовательности математический действий (ключ) дабы можно было собрать все эти числа в одно а затем руководствуясь этим ключём разобрать обратно,ключ не должен быть больше 8байт иначе в этом не будет смысла.
Ну можно аппроксимировать данные полиномом или преобразованиями Фурье (как делает jpeg) и потом записать коэффициенты этих преобразований. Но в этом случае исходные данные будут восстановлены с погрешностью, т.е. это сжатие с потерями.

Вообще Вы выбрали довольно неблагодарную тему - здесь трудно придумать что-то новое с нуля
1
03.03.2013, 09:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.03.2013, 09:41
Помогаю со студенческими работами здесь

Число вариантов разложения четных чисел на сумму простых чисел
Известно, что 4=2+2 (один вариант разложения четного числа на сумму двух простых) 6=3+3 (один...

Алгоритм разложения простого числа на сумму двух квадратов
Как известно любое простое число можно разложить на сумму двух квадратов, при чём единственным...

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

Реализовать алгоритм разложения по двум корзинам пронумерованных шаров
Приветствую всех. Необходимо реализовать алгоритм разложения по двум корзинам пронумерованных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru