Влад Дрибас | Репутация: 146(Кандидат)
9 декабря 2009 в 03:51
Если имеется ввиду пример, в котром нужно посчитать сумму всех чисел от одного до N, то принцип такой - (1+N)*n div 2 при N mod = 0
или (((1+N)*N div 2)+(N div 2 + 1)) при N mod 2 = 1. Алгоритм такой: сумма первого числа и последнего равна сумме второго и предпоследнего... и т.д, мы находим эту сумму и умножаем ее на количество пар таких чисел, если крайнее правое число(N) четное, то на этом алгоритм закончен, если же не четное, то нам к произедению нужно добавить единтсвенное число, которое осталось без пары, оно будет рано половине крайнего правого числа(N) плюс 1.
Если имеется ввиду пример, в котром нужно посчитать сумму всех чисел от одного до N, то принцип такой - (1+N)*n div 2 при N mod = 0
или (((1+N)*N div 2)+(N div 2 + 1)) при N mod 2 = 1. Алгоритм такой: сумма первого числа и последнего равна сумме второго и предпоследнего... и т.д, мы находим эту сумму и умножаем ее на количество пар таких чисел, если крайнее правое число(N) четное, то на этом алгоритм закончен, если же не четное, то нам к произедению нужно добавить единтсвенное число, которое осталось без пары, оно будет рано половине крайнего правого числа(N) плюс 1.