Понедельник, 07.07.2025, 21:09 На сайте время по Москве
Добро Пожаловать

ICQ - 386565919
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Вот вам задачка...
SaSukEДата: Вторник, 08.12.2009, 22:55 | Сообщение # 1
Администратор
Группа: Администраторы
Сообщений: 24

Награды: 0
Статус: Offline
Сумма

Требуется посчитать сумму целых чисел от 1 до N.
Входные данные

В единственной строке входного файла INPUT.TXT записано единственное целое число N, не превышающее по абсолютной величине 104.
Выходные данные

В единственную строку выходного файла OUTPUT.TXT нужно вывести одно целое число — сумму чисел от 1 до N.
Пример :
ввод
5
вывод
15
Идея решения
Можна подсчитать сумму чисел вот таким спсобом :

Code
   
var s,i,n:longInt;
begin
   write('Vvedite 4isl0 N-->');
   readln(n);
   s:=0;
   for i:=1 to n do   
    s:=s+i;
write('Symma 4isel ot 1 do n-->'n);
end.

Но этот способ завалится на 3 тесте,так как там отрицательное число,поетому можно зделать похожим способом,но он будет не очень надежным.Поэтому выведем формулу:
(((1+n)*n)div 2
Потом только подставим формулу когда N>0 и когда N<0
Код будет выглядеть так:
Code

uses CRT;
Var n:longint;
   begin
     Write('Vvedite 4isl0 N-->');
     readln(n);
     if n>0 then writeln('Symma 4isel ot 1 do n='(((1+n)*n)div 2);
     if n<=0 then writeln(('Symma 4isel ot 1 do n='-((1+(-n))*(-n) div 2-1));
   end.



[http://portal-vao.at.ua/][/url]
 
  • Страница 1 из 1
  • 1
Поиск:


By DanTE © Все права защищены. Дизайн данного сайта Полностью Пренадлежит DanTE 2025 | Сайт оптимизирован под браузер Opera. Sitemap | Sitemap-forum.
Дизайн данного сайта полностью принадлежит администратору сайта.