![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
&y JOKER |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 2 Регистрация: 15.9.2009 Город: Chelyabinsk city Учебное заведение: слава Богу, уже закончил ;) Вы: другое ![]() |
Здравствуйте!
Я не студент и не математик,и даже не программер,а просто интересующийся различными сферами деятельности. Возникла необходимость написать софтинку, которая бы раскладывала число на составляющие по заданному уравнению: дано число S, которое может принмать значения от 8 до 234881024 S=x*(y*(4+z1)+4+z2)+z3 , где x может принимать значение от 1 до 255 y - от 1 до 65535 z1,z2,z3 - от нуля, до 20 Имея на входе значение S необходимо вычислить: x,y,z1,z2,z3 Хотя-бы одно из множеств решений. Вариант перебора отпадает - это некрасиво как-то и неинтересно. (IMG:style_emoticons/default/smile.gif) Была мысль начать с того, на какие числа вообще делится S, но это опять-же только перебором. Поэтому у меня вопрос к профессионалам, возможно-ли это решить красиво и каким образом? (IMG:style_emoticons/default/smile.gif) Спасибо! p.s. прошу прощения если не в тот топик, просто я не знаю что такое дифуры и относится-ли к ним моя задача. |
![]() ![]() |
тень |
![]()
Сообщение
#2
|
Студент ![]() ![]() Группа: Продвинутые Сообщений: 135 Регистрация: 10.9.2009 Город: москва ![]() |
составляете функцию abs(S- ваша формула.) (
Задаете произвольный набор исходных переменных внутри разрешенной области 1. изменяете первую переменную на +1 -если функция уменьшается продолжаете увеличивать первую переменную до тех пор пока она не начнет увеличиваться или вы не упретесь в ограничение - если увеличилась, то изменяете на -1 и далее как выше 2. Далее последовательно для всех переменных п.1 3. Если любое изменение любых переменных приводит к увеличению функции - найдено решение Метод без производных, проэтому походит abs, иначе лучше использовать квадрат, чтобы сохранить непр. производной |
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 25.5.2025, 9:58 |
Зеркало сайта Решебник.Ру - reshebnik.org.ru