ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 1068. Сумма

Help !!How simple the (1068 Sum) is,but I'm wrong,Why?
Послано Song Chao (ECUST Mutistar) 9 фев 2002 07:17
Var N,i,S,Sign:longint;

begin
  readln(N);
  if N>0 then Sign:=1 else Sign:=-1;
  N:=Abs(N);
  S:=Sign*(2+N)*(N-1) div 2 ;
  writeln(S);
  readln;
end.
I'm fool,I misunderstood the problem.
Послано Song Chao (ECUST Mutistar) 9 фев 2002 07:44
> Var N,i,S,Sign:longint;
>
> begin
>   readln(N);
>   if N>0 then Sign:=1 else Sign:=-1;
>   N:=Abs(N);
>   S:=Sign*(2+N)*(N-1) div 2 ;
>   writeln(S);
>   readln;
> end.

The Correct Program:

Var N,i,S,Sign:longint;

begin
  readln(N);
  if N>0 then Sign:=1 else begin N:=-N; Sign:=-1 end;
  S:=sign*(1+N)*N div 2;
  if sign<0 then S:=S+1;
  writeln(S);
  readln;
end.