Задача №1466. Сумма от 1 до N
Разбор добавил Роман Атангулов
Если N > 0, то сумма, очевидно, равна N*(N+1)/2. Если N <= 0, то приняв M = |N|, получим сумму, равную 1 - M*(M+1)/2.
Одно важное ЗАМЕЧАНИЕ. Гарантируется, что ОТВЕТ помещается в тип int64 (long long в Си), но никто не гарантировал, что промежуточные вычисления также туда помещаются. Если считать ответ просто по формуле вида N*(N+1)/2, то может произойти переполнение типа при умножении. Чтобы этого избежать нужно делить ДО умножения, т.е. считать нужно по формуле (N/2)*(N+1) или N*((N+1)/2) в зависимости от чётности числа N.
Сдать: для сдачи задач необходимо войти в систему
2194
statement