Суббота, 28 Октября 2006 г. 23:38
+ в цитатник
Хренотень все записи автора
Хелп, не могу найти ошибку.
Задание такое:
Найти рекуррентную формулу, используя которую для заданного с клавиатуры значения m и x (2>x>1), найдите сумму S:
S={*тут следует значок суммы от n=1 до m*}(-1)
n*(x-1)
2n/(2n)!!
Я делала
program summa;
var f, m, n, k, i : integer;
x, s : real;
begin
repeat
writeln('vvedi m,x');
readln(m);
readln(x);
until ((x>1) and (x<2));
s:=-(x-1)/2;
writeln('s1=',s);
for n:=1 to m do
begin
f:=1;
k:=2*n;
for i:=1 to k do begin
f:=f*i;
end;
writeln(f);
if (n mod 2)=0 then s:=s+(exp(2*n*ln(x-1)))/f
else s:=s-(exp(2*n*ln(x-1)))/f;
end;
writeln('s=', s:10:4);
readln;
end.
Но во-1, даже при маленьких m, факториал начинает зашкаливать и превращаться в ноль. А во-2, СУММА ВСЁ ВРЕМЯ ПОЛУЧАЕТСЯ ОДИНАКОВАЯ!
Что делать? :(
Понимаю, что наверна это жутко просто, но я тупость невиданная, ибо после гумманитарного класса без информатики ВААПЩЕ поступила в техн. фуз на программирование :)
Хелп!Мне в понедельник сдавать это и мноооогое другое...
Настроение сейчас - мозг вышел погулять
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-