Re[3]: [загадка] Win калькулятор надолго зависает...
От: Мурлакотам Россия  
Дата: 23.07.09 10:46
Оценка: +1 -4 :))
Здравствуйте, ДимДимыч и marat321, Вы писали:

ДД>>Почему зависание? Через некоторое время калькулятор пишет "Для завершения работы выбранной функции потребуется много времени. Продолжить расчеты или прервать сейчас?" и предлагает продолжить или остановить. Я бы, конечно, еще вынес вычисления в отдельную от GUI нить.

M>Или вообще для достаточно больших n делать оценку факториала по формуле Стирлинга.


Кхм. Поскольку топикстартер зависания не ожидал, смело предположу, что таки да, виндописатели опять лажанулись. Дело в том, что символ "!!" — это двойной факториал, и определяется он как произведение всех натуральных чисел в отрезке [1, n], имеющих ту же чётность что и n:


(Как следствие — нефиг торопиться что-то посчитать, как только юзверь ткнул восклицательный знак.)
Таким образом, 9!! = 1 * 3 * 5 * 7 * 9 = 945. Т.е. вычисление занимает в два раза меньше времени, нежели обычного факториала для 9 и стирлинг тут немного не при делах
Учите математику, мои маленькие любители программирования, и будет вам щасте
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.