Форум: "Потрепаться";
Текущий архив: 2005.08.21;
Скачать: [xml.tar.bz2];
ВнизВычислить сумму Найти похожие ветки
← →
BrenD (2005-07-28 14:20) [0]Уважаемые мастера, каким, наиболее рациональным, методом можно вычислить сумму у выражения такого типа:
S:=(x*2-1*x )+(x*4-2*x)+(x*6-3*x)+...(x*40-20*x) - ?, где X - задает пользователь по своему усмотрению.
← →
Nikolay M. © (2005-07-28 14:24) [1]Гы :)))
Вынести х за скобки, посчитать сумму 1+2+..+20 (=210). Получаем S:=x*210 :)))
← →
Ega23 © (2005-07-28 14:25) [2]S:=210*x;
← →
BrenD (2005-07-28 14:31) [3]Как будет выглядеть строка цикла, в котором будут происходить вычисления суммы?
← →
Алхимик © (2005-07-28 14:42) [4]В виде цикла:
s := 0;
for i := 1 to 20 do begin
s := s + (x*i*2 - x*i);
end;
Но настоящие джедаи любят оптимизировать, см. [1]
← →
Ega23 © (2005-07-28 14:45) [5]2 Алхимик © (28.07.05 14:42) [4]
В виде цикла:
s:=0;
i:=1 to 20 do s:=s+i;
s:=s*x;
:о)
← →
Floppy © (2005-07-28 14:53) [6]S:= X*(N*(N + 1))/2;
где, в частном случае = 20
← →
Floppy © (2005-07-28 14:54) [7]Это, если цикл не обязателен:))
← →
BrenD (2005-07-28 15:46) [8]
> В виде цикла:
> s := 0;
> for i := 1 to 20 do begin
> s := s + (x*i*2 - x*i);
> end;
> Но настоящие джедаи любят оптимизировать, см. [1]
В первом случае переменная i, изменяется с шагом +2, следовательно, цикл FOR не подходит.
← →
Nikolay M. © (2005-07-28 16:07) [9]
> BrenD (28.07.05 15:46) [8]
>
> > В виде цикла:
> > s := 0;
> > for i := 1 to 20 do begin
> > s := s + (x*i*2 - x*i);
> > end;
> > Но настоящие джедаи любят оптимизировать, см. [1]
>
> В первом случае переменная i, изменяется с шагом +2, следовательно,
> цикл FOR не подходит.
Ууу... Как все запущенно :(
← →
BrenD (2005-07-28 16:22) [10]
> Ууу... Как все запущенно :(
?
← →
Nikolay M. © (2005-07-28 16:30) [11]
> BrenD
Я, правда, жевать за других не люблю, но раз уж начал учайствовать... Если нек. переменная, скажем, i, принимает значения с шагом 1, то величина i*2 принимает значения с шагом 2, i*3 - с шагом 3 и тд. Что тебе и написали:
> for i := 1 to 20 do begin
> s := s + (x*i*2 - x*i);
> end;
← →
Floppy © (2005-07-28 16:38) [12]BrenD
Ты о чем?, у тебя сумма:
x + 2x + 3x + 4x + ... + 20x
x выносишь за скобки, получаешь:
(1 + 2 + 3 + ... + N)*X
в скобках обыкновенная арифметическая прогрессия с суммой равной N*(N + 1) см. Floppy © (28.07.05 14:53) [6]
Постарайся не мучить форумчан и себя:)
← →
Nikolay M. © (2005-07-28 17:04) [13]
> Floppy © (28.07.05 16:38) [12]
Он циклом хочет :)
← →
Алхимик © (2005-07-28 17:07) [14]И без всяких там, вынесений, за скобочку, пАнимешь...
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2005.08.21;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.042 c