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

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

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

Автор: kr3v3tkus 22.12.2005 1:31

Код

program lol;
var s:real;n,z,i:integer;  
begin  
writeln('vvesti n');  
readln(n);  
s:=0;  z:=1;  
for i:=1 to n do
  begin
  z:=z+(2i-1);
  s:=s+(-exp(i*ln(1))/z);
  end;  
writeln(s:2:2);
readln;
end.


косяк с факториалом ((( не знаю как сделать факториал для скобки


Эскизы прикрепленных изображений
Прикрепленное изображение

Автор: GoodWind 22.12.2005 1:49

Цитата
не знаю как сделать факториал для скобки

посчитай сначала значение выражения внутри скобок, потом от него факториал и ищи... wink.gif

Автор: kr3v3tkus 22.12.2005 1:53

а как в форе написать факториал? я процедурам так и не научился ещё unsure.gif

Автор: volvo 22.12.2005 1:56

Да не нужно тебе факториал искать каждый раз... Подсчитывай произведения на каждом шаге и домножай их на (2*i - 2)*(2*i - 1)... Как это реализуется - смотри в теме "FAQ: Общие вопросы по математике" (Разложение в ряд)...

Автор: GoodWind 22.12.2005 2:01

ф-ция вычисления факториала:

Код
function Factorial(a:integer):longint;
var i:integer;
     tmp:longint;
begin
tmp:=1;
for i:=1 to a do tmp:=tmp*i;
Factorial:=tmp;
end;


а факториал от скобки:
Код
factorial((2i-1));

Автор: kr3v3tkus 22.12.2005 2:06

10x

Автор: GoodWind 22.12.2005 2:07

Цитата
10x

blink.gif ??? не понял

я тупой =)))) понял.
Пожалста, приходи еще =)