**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.

## 0 comments:

## Post a Comment