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

13 Jun, 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:  
Find the sum of numbers that are divisible by 3 upto N. Denote it by S1.Find the sum of numbers that are divisible by 4 upto N. Denote it by S2.Find the sum of numbers that are divisible by 12(3*4) upto N. Denote it by S3.The final answer will be S1 + S2 – S3.
Find the sum of numbers that are divisible by 3 upto N. Denote it by S1.
Find the sum of numbers that are divisible by 4 upto N. Denote it by S2.
Find the sum of numbers that are divisible by 12(3*4) upto N. Denote it by S3.
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++
Java
Python3
C#
PHP
Javascript
// C++ program to find sum of numbers from 1 to N// which are divisible by 3 or 4#include <bits/stdc++.h>using namespace std; // Function to calculate the sum// of numbers divisible by 3 or 4int 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 codeint main(){    int N = 20;     cout << sum(12);     return 0;}
// Java program to find sum of numbers from 1 to N// which are divisible by 3 or 4class GFG{ // Function to calculate the sum// of numbers divisible by 3 or 4static 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 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 4def 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# program to find sum of// numbers from 1 to N which// are divisible by 3 or 4using System; class GFG{ // Function to calculate the sum// of numbers divisible by 3 or 4static 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 codepublic static void Main (){    int N = 20;     Console.WriteLine(sum(12));}} // This code is contributed// by inder_verma
<?php// PHP 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 4function sum($N){    $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$N = 20; echo sum(12); // This code is contributed// by inder_verma?>
<script> // Javascript 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 4function sum(N){    var 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 codevar N = 20;document.write( sum(12));  </script>
42
 
Time Complexity: O(1)
Auxiliary Space: O(1)
shrikanth13
Smitha Dinesh Semwal
inderDuMCA
rrrtnx
hasani
divisibility
Mathematical
Mathematical
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Operators in C / C++
Find minimum number of coins that make a given value
The Knight's tour problem | Backtracking-1
Algorithm to solve Rubik's Cube
Modulo 10^9+7 (1000000007)
Program for factorial of a number
Merge two sorted arrays with O(1) extra space
Program to find sum of elements in a given array
Program to print prime numbers from 1 to N.
Print all possible combinations of r elements in a given array of size n