Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Помогите с решением

Автор: Selena 18.10.2007 9:16

Всем привет! smile.gif
У меня тут такая проблема, не могу составить правильно цикл или написать выражение..
Вообщем нужно вычислить вот что:
Дано число N=500 и массив nd[i] с элементами (9,13, 16,15,11,6)
И формула где нужно найти Ni
Ni=(N+(N-dn[1]))/2
Ni=(N+(N-dn[1])+(N-dn[1]-dn[2]))/3
Ni=(N+(N-dn[1])+(N-dn[1]-dn[2])+(N-dn[1]-dn[2]-nd[4]))/4........ ну и тд

Здесь не нужно фрмировать массив Ni просто постоянно вывадить его на печать.
Заранее спасибо

Автор: Lapp 18.10.2007 10:34

Можно так (m - количество элементов в dn):

s:=0;
t:=N;
for i:=1 to m do begin
s:=s+dn[i];
t:=(t+(N-s);
Ni:=t/(i+1);
WriteLn(Ni)
end;

А еще можно так..
for i:=1 to m do
Ni:=N*(i+1);
for j:=1 to i do Ni:=Ni-dn[j]*(i-j+1);
Ni:=Ni/(i+1);
WriteLn(Ni)
end;

Выбирай, что больше нравится smile.gif

Автор: volvo 18.10.2007 13:38

Цитата
Ni=(N+(N-dn[1])+(N-dn[1]-dn[2])+(N-dn[1]-dn[2]-nd[4]))/4
Выделенная цифра правильная?

Автор: -Selena- 18.10.2007 21:38

Цитата(volvo @ 18.10.2007 9:38) *

Выделенная цифра правильная?

Нет там 3, торопилась