Skip to content
Related Articles

Related Articles

Sum of numbers from 1 to N which are divisible by 3 or 4
  • Last Updated : 26 Oct, 2018

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 <bits/stdc++.h>
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




<?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 4
function 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
?>


Output:

42

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up
Recommended Articles
Page :