Показать сообщение отдельно
Старый 30.08.2015, 15:10
Bletraut вне форума Посмотреть профиль Отправить личное сообщение для Bletraut Найти все сообщения от Bletraut
  № 6  
Ответить с цитированием
Bletraut
 
Аватар для Bletraut

Регистрация: Mar 2013
Адрес: Вне пространства.
Сообщений: 566
Отправить сообщение для Bletraut с помощью ICQ Отправить сообщение для Bletraut с помощью Skype™
PlutDem, прогрессии. Я не математик и не имею глубоких познаний в математике, поэтому объясню как умею, выводил я следующим образом:
Нужное нам число состоит из арифметической и геометрической прогрессии + исходное число.
d - коэффициент умножения, m - коэффициент сложения, a1 - первый член прогрессии (в нашем случае 0), an - n-ый член прогрессии.

Чтобы найти an для геометрической прогрессии воспользуемся формулой an = a1*d^(n-1), где n - номер нужного нам члена геометрической прогрессии.
В нашем случае прогрессия смешанная, чтобы увидеть закономерность, выведем формулу нескольких первых членов прогрессии.

Код:
1) a1 = 0
2) a2 = a1*d + m
3) a3 = a2*d + m = (a1*d + m)*d + m = a1*d^2 + d*m + m
4) a4 = a3*d + m = (a1*d^2 + d*m + m)*d = a1*d^3 + d^2*m + d*m + m
Разберем первую часть формулы. Нетрудно заметить, что это есть формула n-ого члена геометрической прогрессии, следовательно можем заменить данный кусок формулы на a1*d^(n-1)
Код:
2) a1*d
3) a1*d^2 
4) a1*d^3
Далее разберем конец формулы, очевидно, что ничего не меняется, поэтому мы можем просто записать +m
Код:
2) + m
3) + m
4) + m
Теперь самое интересное, рассмотрим середину. Последовательность трудно заметить, поэтому выведем пятый член прогрессии:
Код:
a5 = a1*d^4 + d^3*m + d^2*m + d*m + m
, внимательно посмотрим на пятое выражение
Код:
d^3*m + d^2*m + d*m
, вынесем d*m за скобки и получим
Код:
d*m*(d^2 + d + 1)
. Можно заметить, что в скобках у нас получилась сумма членов геометрической прогрессии к которой прибавляется 1. Сумма членов геометрической прогрессии (k1, k2, k3, ...kn) вычисляется по формуле S = (k1*(1 - q^n))/ (1-q), для нашего случая k1 = q = d. Так же заметим, что степень нашей последовательности начинается n - 2. Поэтому середину формулы мы запишем как
Код:
d*m*(1 + (d*(1 - d^(n-2)))/(1-d))
Код:
2) 0
3) d*m
4) d^2*m + d*m
5) d^3*m + d^2*m + d*m
В итоге вся формула будет иметь вид
Код:
an = a1 * d^(n-1) + d * m * (1 + (d * (1 - d^(n - 2))) / (1 - d)) + m;
__________________
Я заклинаю вас действовать иначе.


Последний раз редактировалось Bletraut; 31.08.2015 в 16:26.