Помощь - Поиск - Пользователи - Календарь
Полная версия: вычислить "сумму"....
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
mtusi
Дано натуральное число N.
вычислить
1*2+2*3*4+...+N(N+1)+...+2N

очень срочно надо завтра лаба...помогите плиз..
volvo
Цитата
1*2+2*3*4+...+N(N+1)+...+2N


Каков последний член последовательности? Может, 2N(2N+1) ?
Guest
может и 2Н(2н+1) =))) скорее всего так, хотя..
короче просто эт немного не мне..но человека нужно выручать а у меня просто инет есть))...

есть идеи ??..меня чет в ступор поставило )) до этого как-то решал или находил ответ где-нить..а щас чет завал) были идеи, но чет безрезультатно(( а надо очень срочно....

спасибо за старания)
volvo
Код

const
 n = 10;
var
 i: integer;
 s: longint;

begin
 s := 0;
 for i := 1 to 2 * n do
   s := s + i * (i + 1);

 writeln( 's = ', s );
end.
mtusi
спасиб большое только вот поправка...я думал, что сомневался , но нашел тип задачу с последним членом 2N

http://sec17.vstu.vinnica.ua/teacher/book/.../2_2/2_2_6.html

2.23

вот как походу звучит
Вычислить P = 1 *2 + 2* 3* 4 + 3 *4 * 5 * 6 + ...+ N * (N+1) * ... * 2N.
вот стоп у меня была неправильная запись я щас так может и сам решу)) только времени в обрез...был бы благодарен, за предоставленную помощь в решении "второго" варианта
volvo
В каких пределах изменяется N? При использовании обычной арифметики уже при
N > 12 происходит переполнение
Guest
да в том то и дело, что нет никаких пределов)))

можешь накатать вариант пока хотябы с переполнением...там он с проверкой сам разберется)))..

я думаю что ничего страшного буит если препод введет 13 и его немного обломает...главное чтоб принцип был понятен....
а так...пределов нет...(
volvo
По-моему, так ...

Код

const
 n = 12;
var
 i, j: integer;
 p, s: longint;

begin
 s := 0;
 for i := 1 to n do
   begin
     p := 1;
     for j := 0 to i do
       p := p * (i + j);
     s := s + p;
   end;

 writeln( 's = ', s );
end.


Кстати, о "длинной арифметике" можно посмотреть здесь ...
mtusi
спасибо большое.. smile.gifщас посмотрим, че получилось))

п.с.
а про длинную арифметику я уже нашел, пока искал, нет ли похожей, уже решенной задачи))
Guest
стоп..помойму че то не то ))))

при Н=3 программа дает результат 67

а если брать даже только последнее слагаемое из этой суммы, то
n*(n+1)*...*2N = 3*4*5*6 > 67
выходит что то не так((

блин..может еще кто знает как или Volvo ты еще что нить предложишь7?
volvo
Почему 67? У меня - 386...
zx1024
Код

s := 2;
j := 2;
for i := 2 to n do
begin
 j := (j * (i shl 1 - 1) * (i shl 1)) div (i - 1);
 s := s + j;
end;

Если надо, учти n=0.
mtusi
volvo
да все нормально...)) все загнал в дельфи - пучком.дальше наза перепроверил в обяном турбо паскале все норм))...

п.с.
таак..я думаю что пока длинную арифметику оставим)) те, кому надо сами все совместят..
алгоритм понятен)) спасибо за помощь...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.