Нужна помощь в решении казалось бы простенькой задачки.
Имеются некоторые параметры и формула включающая в себя эти параметры. Казалось бы - бери эти параметры и подставляй в формулу!... НО, не тут то было!
Сама формула суммирует комбинации, а там где комбинации там и факториалы. Калькулятор буквально захлёбывается в ошибках переполнения!!
Однако, предчуствую, что решение данной задачи всё же есть. Кое как и сам упростил - но этого не достаточно для того, чтобы быстренько посчитать на бумаге+калькуляторе.
Вобщем, суть задачи вместе с формулами смотрите в прикреплённом word'овском файле.
Я очень надеюсь на результат. Заранее примного благодарен!
Прикрепленные файлы
Formula_Ex.doc ( 43 килобайт )
Кол-во скачиваний: 34
У меня получилось что в десятичной записи будет порядка 500 цифр.
Может кто-нибудь проверит?
Но на "бумаге+калькуляторе" посчитать не получится точно.
Что за объект Вы описываете столь сложной формулой? Промежуточные вычисления данной формулы могут превышать всякое воображение. Не исключено, что объект со свойствами, описываемыми данной формулой, физически не реализуем. Может даже не стоит заморачиваться?
Но тем не менее ответ 0.2784292674*10^(616)
Можно сократить 257!/256!=257
А можно объяснить, как получилась сумма от 0 до 127
Можно написать небольшую программку вычисления
Но калькулятор для этого конечно мощно
Dimka, спасибо за ответ. Хотелось бы конечно более точный ответ, т.к. сомниваюсь в том, что программа не "обрезала" результат - а он таки "обрезанный". Но, уже и этого достаточно для того чтобы представить себе величину результата. Кстати, результат обрезан до 32-битного размера. Когда действительный результат наверное куда больше бит занимает. Т.е. нужно пользоватся длинной арифметикой.
etuls, 0..127 это не сумма а диапазон изменения параметра "i" а все что дальше в формуле это считать надо 128 раз меняя i на 1-цу и просумировать полученные результаты. Да вы и сами это знаете... А то что в вашем файле - мне не совсем понятно - для чего нужно было раскладывать так сильно? Ведь это еще 128 раз придется переписывать!
Ах, ну да! Забыл указать, что s/(x+1) необходимо округлять до целого в меньшую сторону. (файл поправил)
То что я говорил о рядах - то это наоборот для уменьшения писанины и ускорения счета.
Dimka, на счет столь сложного объекта - вы правы. Но заморачиватся стоит. Возможно придется формулу подкорректировать, для уменьшения промежуточных результатов и конечного результата в целом. А сам объект из себя представляет количество всех возможных вариантов в некоторой среде... вот ссылка на тему http://www.prepody.ru/topic1467.html
Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)