Уважаемые эксперты, помогите решить задачу: An=(20n-10)n!, n=1,2,3....
Вывести сумму положительных значений и первое отрицательное значение.
{
An=(20n-10)n!, n=1,2,3....
Вывести сумму положительных значений и первое отрицательное значение.
}
program p174922;
var
i, n: integer;
a, fact, SumPositive, FirstNegative: integer;
WasNegative : boolean;
begin
write('n=');
readln(n);
if (n<1)
then
writeln('нет ряда')
else
begin
fact := 1;
a:= 10;
SumPositive := a;
WasNegative := false;
for i := 2 to n do
begin
fact := fact * i;
a:= (20*i-10)*fact;
if (a>0) then
SumPositive := SumPositive + a
else if not WasNegative then
begin
FirstNegative := a;
WasNegative := true;
end;
end;
if WasNegative then
writeln('первый отрицательный элемент = ', FirstNegative)
else
writeln('нет отрицательных элементов');
writeln('Сумма положительных элементов =', SumPositive);
end;
readln;
end.
Возможно, имеется в виду, что integer считается signed и при превышении предела, например, 32767, член становится отрицательным.
К тому же, я не вижу, как можно помочь в этом вопросе с отрицательными значениями.
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.