How to Calculate the Summation of a Number in Java

The challenge

Write a program that finds the summation of every number from 1 to num. The number will always be a positive integer greater than 0.

For example:

summation(2) -> 3 1 + 2 summation(8) -> 36 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8

The solution in Java

public class Solution { public static int summation(int n) { int runningTotal = 0; for (int i=1; i<=n; i++) runningTotal += i; return runningTotal; } }
Code language: Java (java)

A simpler alternative is to do the following:

public class Solution { public static int summation(int n) { return n*(n+1)/2; } }
Code language: Java (java)

This can also be solved using recursion:

public class Solution { public static int summation(int n) { if (n == 1) return 1; return summation(n-1) + n; } }
Code language: Java (java)

Test cases to validate our code

import java.util.Random; import static org.junit.Assert.assertEquals; import org.junit.Test; public class SolutionTest { @Test public void test1() { assertEquals(1, Solution.summation(1)); } @Test public void test2() { assertEquals(36, Solution.summation(8)); } }
Code language: Java (java)
Tags:
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments