2014-01-20 4 views
1

Как найти формулу суммирования для последовательности: : 0,1,3,6,10,15 , ..., nНайти суммирование этой серии: 0,1,3,6,10,15, ..., n

позаботьтесь о первом элементе 0.

+6

Математические вопросы принадлежат . –

+0

SO следует использовать только для программирования на основе вопросов с достаточными исследованиями. Пожалуйста, ознакомьтесь с тем, что рассматривается по теме: http://stackoverflow.com/help/on-topic – JNYRanger

+0

Этот вопрос не соответствует теме, потому что это не связано с программированием. – Bart

ответ

6

Эта последовательность Triangular number, также известная как A000217.

Величина входа n может быть рассчитана с f(n) = (n * (n+1))/2.

В комментариях указано, что это только вычисляет значение f(n), а не суммирование серии 0..n. Суммирование может быть рассчитано на s(n) = n * (n+1) * (n+2)/6 согласно Wikipedia. Эти цифры: Thetrahedral numbers, или A000292.

n | f(n)   | s(n) 
0 | 0 * 1/2 = 0 | 0 * 1 * 2/6 = 0 
1 | 1 * 2/2 = 1 | 1 * 2 * 3/6 = 1 
2 | 2 * 3/2 = 3 | 2 * 3 * 4/6 = 4 
3 | 3 * 4/2 = 6 | 3 * 4 * 5/6 = 10 
4 | 4 * 5/2 = 10 | 4 * 5 * 6/6 = 20 
5 | 5 * 6/2 = 15 | 5 * 6 * 7/6 = 35 
+0

Я действительно хочу начать с нуля, так что это формула, не могли бы вы дать мне, если это возможно: шаги .. – Maria

+2

? Это не правильно. Треугольные числа задаются выражением «T (n) = (n * (n + 1))/2', а не их суммой. (Я думаю, что ОП может быть смущен тем, что такое «суммирование»). – DSM

+0

@DSM, вы правы. Это то, что вы получаете за неправильное чтение вопроса. Я обновил ответ. – sisve

0

Вот C реализация алгоритма, который должен сделать трюк

int sum = 0; 
for(int i = 0; sum <= n; i++) 
{ 
    sum = sum + (sum + i) 
} 
+0

Мне не нужен код C, мне нужна формула с n – Maria

1

i ое число в последовательности i(i-1)/2=(i^2-i)/2. Суммируя это с 1 на n, вы получите n(n+1)(2n+1)/12-n(n+1)/4=n(n+1)((2n+1)/12-3/12)=n(n+1)(2n-2)/12=n(n+1)(n-1)/6.

Но да, математические вопросы принадлежат http://math.stackexchange.com.

Смежные вопросы