# Sum of all the multiples of 3 and 7 below N

Given a number *N*, the task is to find the sum of all the multiples of *3* and *7* below *N*. **Note:** A number must not repeat itself in the sum.

**Examples:**

Input:N = 10Output:25

3 + 6 + 7 + 9 = 25

Input:N = 24Output:105

3 + 6 + 7 + 9 + 12 + 14 + 15 + 18 + 21 = 105

**Approach:**

- We know that multiples of
*3*form an AP as*S*_{3}= 3 + 6 + 9 + 12 + 15 + 18 + 21 + … - And the multiples of
*7*form an AP as*S*_{7}= 7 + 14 + 21 + 28 + … - Now,
*Sum = S*i.e._{3}+ S_{7}*3 + 6 + 7 + 9 + 12 + 14 + 15 + 18 + 21 + 21 + …* - From the previous step,
*21*is repeated twice. In fact, all of the multiples of*21*(or 3*7) will be repeated as they are counted twice, once in the series*S*and again in the series_{3}*S*. So, the multiples of_{7}*21*need to be discarded from the result. - So, the final result will be
*S*_{3}+ S_{7}– S_{21}

The formula for the sum of an AP series is :

n * ( a + l ) / 2

Where n is the number of terms, a is the starting term, and l is the last term.

Below is the implementation of the above approach:

## C++

`// C++ program to find the sum of all` `// multiples of 3 and 7 below N` `#include <bits/stdc++.h>` `using` `namespace` `std;` `// Function to find sum of AP series` `long` `long` `sumAP(` `long` `long` `n, ` `long` `long` `d)` `{` ` ` `// Number of terms` ` ` `n /= d;` ` ` `return` `(n) * (1 + n) * d / 2;` `}` `// Function to find the sum of all` `// multiples of 3 and 7 below N` `long` `long` `sumMultiples(` `long` `long` `n)` `{` ` ` `// Since, we need the sum of` ` ` `// multiples less than N` ` ` `n--;` ` ` `return` `sumAP(n, 3) + sumAP(n, 7) - sumAP(n, 21);` `}` `// Driver code` `int` `main()` `{` ` ` `long` `long` `n = 24;` ` ` `cout << sumMultiples(n);` ` ` `return` `0;` `}` |

## Java

`// Java program to find the sum of all` `// multiples of 3 and 7 below N` `import` `java.util.*;` `class` `solution` `{` `// Function to find sum of AP series` `static` `long` `sumAP(` `long` `n, ` `long` `d)` `{` ` ` `// Number of terms` ` ` `n /= d;` ` ` `return` `(n) * (` `1` `+ n) * d / ` `2` `;` `}` `// Function to find the sum of all` `// multiples of 3 and 7 below N` `static` `long` `sumMultiples(` `long` `n)` `{` ` ` `// Since, we need the sum of` ` ` `// multiples less than N` ` ` `n--;` ` ` `return` `sumAP(n, ` `3` `) + sumAP(n, ` `7` `) - sumAP(n, ` `21` `);` `}` `// Driver code` `public` `static` `void` `main(String args[])` `{` ` ` `long` `n = ` `24` `;` ` ` `System.out.println(sumMultiples(n));` ` ` `}` `}` `//This code is contributed by Surendra_Gangwar` |

## Python3

`# Python3 program to find the sum of` `# all multiples of 3 and 7 below N` `# Function to find sum of AP series` `def` `sumAP(n, d):` ` ` ` ` `# Number of terms` ` ` `n ` `=` `int` `(n ` `/` `d);` ` ` `return` `(n) ` `*` `(` `1` `+` `n) ` `*` `(d ` `/` `2` `);` `# Function to find the sum of all` `# multiples of 3 and 7 below N` `def` `sumMultiples(n):` ` ` `# Since, we need the sum of` ` ` `# multiples less than N` ` ` `n ` `-` `=` `1` `;` ` ` `return` `int` `(sumAP(n, ` `3` `) ` `+` ` ` `sumAP(n, ` `7` `) ` `-` ` ` `sumAP(n, ` `21` `));` `# Driver code` `n ` `=` `24` `;` `print` `(sumMultiples(n));` `# This code is contributed` `# by mits` |

## C#

`// C# program to find the sum of all` `// multiples of 3 and 7 below N` `using` `System;` `class` `GFG` `{` `// Function to find sum of AP series` `static` `long` `sumAP(` `long` `n, ` `long` `d)` `{` ` ` `// Number of terms` ` ` `n /= d;` ` ` `return` `(n) * (1 + n) * d / 2;` `}` `// Function to find the sum of all` `// multiples of 3 and 7 below N` `static` `long` `sumMultiples(` `long` `n)` `{` ` ` `// Since, we need the sum of` ` ` `// multiples less than N` ` ` `n--;` ` ` `return` `sumAP(n, 3) + sumAP(n, 7) -` ` ` `sumAP(n, 21);` `}` `// Driver code` `static` `public` `void` `Main(String []args)` `{` ` ` `long` `n = 24;` ` ` `Console.WriteLine(sumMultiples(n));` `}` `}` `// This code is contributed` `// by Arnab Kundu` |

## PHP

`<?php` `// PHP program to find the sum of all` `// multiples of 3 and 7 below N` `// Function to find sum of AP series` `function` `sumAP(` `$n` `, ` `$d` `)` `{` ` ` `// Number of terms` ` ` `$n` `= (int)(` `$n` `/ ` `$d` `);` ` ` `return` `(` `$n` `) * (1 + ` `$n` `) * (` `$d` `/ 2);` `}` `// Function to find the sum of all` `// multiples of 3 and 7 below N` `function` `sumMultiples(` `$n` `)` `{` ` ` `// Since, we need the sum of` ` ` `// multiples less than N` ` ` `$n` `--;` ` ` `return` `sumAP(` `$n` `, 3) +` ` ` `sumAP(` `$n` `, 7) - sumAP(` `$n` `, 21);` `}` `// Driver code` `$n` `= 24;` `echo` `sumMultiples(` `$n` `);` `// This code is contributed` `// by Akanksha Rai` `?>` |

## Javascript

`<script>` `// JavaScript program to find the sum of all` `// multiples of 3 and 7 below N` `// Function to find sum of AP series` `function` `sumAP(n, d)` `{` ` ` ` ` `// Number of terms` ` ` `n = parseInt(n / d);` ` ` `return` `(n) * (1 + n) * (d / 2);` `}` `// Function to find the sum of all` `// multiples of 3 and 7 below N` `function` `sumMultiples(n)` `{` ` ` ` ` `// Since, we need the sum of` ` ` `// multiples less than N` ` ` `n--;` ` ` `return` `sumAP(n, 3) +` ` ` `sumAP(n, 7) -` ` ` `sumAP(n, 21);` `}` `// Driver code` `let n = 24;` `document.write(sumMultiples(n));` `// This code is contributed by mohan1240760` `</script>` |

**Output:**

105