 Open in App
Not now

# Sum of numbers from 1 to N which are divisible by 3 or 4

• Difficulty Level : Easy
• Last Updated : 27 Aug, 2022

Given a number N. The task is to find the sum of all those numbers from 1 to N that are divisible by 3 or by 4.
Examples

```Input : N = 5
Output : 7
sum = 3 + 4

Input : N = 12
Output : 42
sum = 3 + 4 + 6 + 8 + 9 + 12```

Approach: To solve the problem, follow the below steps:

1. Find the sum of numbers that are divisible by 3 upto N. Denote it by S1.
2. Find the sum of numbers that are divisible by 4 upto N. Denote it by S2.
3. Find the sum of numbers that are divisible by 12(3*4) upto N. Denote it by S3.
4. The final answer will be S1 + S2 – S3.

In order to find the sum, we can use the general formula of A.P. which is:

```Sn = (n/2) * {2*a + (n-1)*d}

Where,
n -> total number of terms
a -> first term
d -> common difference```

For S1: The total numbers that will be divisible by 3 upto N will be N/3 and the series will be 3, 6, 9, 12, ….

```Hence,
S1 = ((N/3)/2) * (2 * 3 + (N/3 - 1) * 3)```

For S2: The total numbers that will be divisible by 4 up to N will be N/4 and the series will be 4, 8, 12, 16, …..

```Hence,
S2 = ((N/4)/2) * (2 * 4 + (N/4 - 1) * 4)```

For S3: The total numbers that will be divisible by 12 upto N will be N/12.

```Hence,
S3 = ((N/12)/2) * (2 * 12 + (N/12 - 1) * 12)```

Therefore, the result will be:

`S = S1 + S2 - S3`

Below is the implementation of the above approach:

## C++

 `// C++ program to find sum of numbers from 1 to N` `// which are divisible by 3 or 4` `#include ` `using` `namespace` `std;`   `// Function to calculate the sum` `// of numbers divisible by 3 or 4` `int` `sum(``int` `N)` `{` `    ``int` `S1, S2, S3;`   `    ``S1 = ((N / 3)) * (2 * 3 + (N / 3 - 1) * 3) / 2;` `    ``S2 = ((N / 4)) * (2 * 4 + (N / 4 - 1) * 4) / 2;` `    ``S3 = ((N / 12)) * (2 * 12 + (N / 12 - 1) * 12) / 2;`   `    ``return` `S1 + S2 - S3;` `}`   `// Driver code` `int` `main()` `{` `    ``int` `N = 20;`   `    ``cout << sum(12);`   `    ``return` `0;` `}`

## Java

 `// Java program to find sum of numbers from 1 to N ` `// which are divisible by 3 or 4 ` `class` `GFG{`   `// Function to calculate the sum ` `// of numbers divisible by 3 or 4 ` `static` `int` `sum(``int` `N) ` `{ ` `    ``int` `S1, S2, S3; `   `    ``S1 = ((N / ``3``)) * (``2` `* ``3` `+ (N / ``3` `- ``1``) * ``3``) / ``2``; ` `    ``S2 = ((N / ``4``)) * (``2` `* ``4` `+ (N / ``4` `- ``1``) * ``4``) / ``2``; ` `    ``S3 = ((N / ``12``)) * (``2` `* ``12` `+ (N / ``12` `- ``1``) * ``12``) / ``2``; `   `    ``return` `S1 + S2 - S3; ` `} `   `// Driver code ` ` ``public` `static` `void` `main (String[] args) {` `    ``int` `N = ``20``; `   `    ``System.out.print(sum(``12``)); ` `}`   `} `

## Python3

 `# Python3 program to find sum of numbers ` `# from 1 to N` `# which are divisible by 3 or 4`   `# Function to calculate the sum ` `# of numbers divisible by 3 or 4 ` `def` `sum``(N):`   `    ``global` `S1,S2,S3`   `    ``S1 ``=` `(((N ``/``/` `3``)) ``*` `         ``(``2` `*` `3` `+` `(N ``/``/``3` `-` `1``) ``*` `3``) ``/``/``2``)` `    ``S2 ``=` `(((N ``/``/` `4``)) ``*` `         ``(``2` `*` `4` `+` `(N ``/``/` `4` `-` `1``) ``*` `4``) ``/``/` `2``)` `    ``S3 ``=` `(((N ``/``/` `12``)) ``*` `         ``(``2` `*` `12` `+` `(N ``/``/` `12` `-` `1``) ``*` `12``) ``/``/` `2``)`   `    ``return` `int``(S1 ``+` `S2 ``-` `S3)`   `if` `__name__``=``=``'__main__'``:` `    ``N ``=` `12` `    ``print``(``sum``(N))`   `# This code is contributed by Shrikant13`

## C#

 `// C# program to find sum of ` `// numbers from 1 to N which ` `// are divisible by 3 or 4 ` `using` `System;`   `class` `GFG` `{`   `// Function to calculate the sum ` `// of numbers divisible by 3 or 4 ` `static` `int` `sum(``int` `N) ` `{ ` `    ``int` `S1, S2, S3; `   `    ``S1 = ((N / 3)) * (2 * 3 + ` `          ``(N / 3 - 1) * 3) / 2; ` `    ``S2 = ((N / 4)) * (2 * 4 + ` `          ``(N / 4 - 1) * 4) / 2; ` `    ``S3 = ((N / 12)) * (2 * 12 + ` `          ``(N / 12 - 1) * 12) / 2; `   `    ``return` `S1 + S2 - S3; ` `} `   `// Driver code ` `public` `static` `void` `Main () ` `{` `    ``int` `N = 20; `   `    ``Console.WriteLine(sum(12)); ` `}` `} `   `// This code is contributed` `// by inder_verma`

## PHP

 ``

## Javascript

 ``

Output:

`42`

Time Complexity: O(1), since there is no loop or recursion.

Auxiliary Space: O(1), since no extra space has been taken.

My Personal Notes arrow_drop_up
Related Articles