# Design an algorithm to find sum of 'N' natural numbers

Problem: Design an algorithm to find sum of 'N' natural numbers between N1 and N2.
Input : Two numbers N1 and N2.
Output: Sum of N natural numbers.

SUM(N1, N2)

[N1 and N2 are two different natural numbers]
If N1> N2 then:
MAX <-- N1
MIN <-- N2
ELSE:
MAX<-- N2
MIN <-- N1
[End of If]
MIN <-- MIN-1 [ to include MIN in sum]
SUM 1 <-- (MIN * (MIN+1))/2
SUM 2 <-- (MAX * (MAX+1))/2
Return SUM2- SUM1
Exit.

In the above algorithm to find the sum of N natural numbers, the formula N(N+1)/2 is used. Instead of a formula, repetitive statements can also be used that run from MIN to MAX with step 1. The algorithm can be re-written as:

### II algorithm

Problem: Design an algorithm to find sum of 'N' natural numbers between N1 and N2.
Input : Two numbers N1 and N2.
Output: Sum of N natural numbers.

SUM(N1, N2)

[N1 and N2 are two different natural numbers]
If N1> N2 then:
MAX <-- N1
MIN <-- N2
ELSE:
MAX<-- N2
MIN <-- N1
[End of If]
SUM <-- 0
Repeat For I= MIN, MIN+1, MIN+2..........MAX
SUM <-- SUM+1
[End of For]
Return SUM
Exit.

Tracing:
Suppose that the above algorithm SUM1 is called with two numbers 23 and 11.
In the If statements 23>11 condition is TRUE, therefore MAX becomes 23 and MIN becomes 11.
Now the loop repeats for 11, 12, 13, 14 up to 23
(I values).
Every time when the loop is repeated I is added to SUM.
So, finally the value of SUM is returned from the algorithm.

Some say he’s half man half fish, others say he’s more of a seventy/thirty split. Either way he’s a fishy bastard. Google