Просмотр полной версии : Формула для вычисления суммы результатов работы функции.
Здравствуйте, в цикле выполняется вот такой код:
var x:Number = 90;
var z:Number = 0;
for (var i:Number = 0; i<10; i++){
x /= 2;
z += x;
{
Если нам известно количество итераций можно ли вычислить z математически?
elder_Nosferatu
29.07.2014, 19:30
Это геометрическая пргрессия. Вам нужна формула суммы n первых членов.
Детали: http://ru.wikipedia.org/wiki/Геометрическая_прогрессия
Zebestov
29.07.2014, 19:38
Это геометрическая прогрессия.
Первый элемент равен x, знаменатель прогрессии равен 0.5, сумма первых 10 членов находится по формуле:
var z:Number = (x * (Math.pow(0.5, 10) - 1)) / (0.5 - 1);
nubideus
29.07.2014, 20:20
PlutDem, n = 10, z = x - x * Math.pow(0.5, n) === твой код
Zebestov, выдает 179.82421875, а в коде 89.912109375
Zebestov
29.07.2014, 20:40
Действительно. В моем примере формула приведена правильная, только первый элемент прогрессии равен не 90, а 45. И после некоторого упрощения выглядит точно так же, только без этой вот магии:
(x / 2) / x
Это же просто число 0.5!
nubideus
29.07.2014, 20:50
Это же просто число 0.5!не успел!редактировалось nubideus; Сегодня в 20:38Сегодня, 20:40
Zebestov
29.07.2014, 20:56
Ага ) увидел.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.