Open In App

Check if a large number is divisible by 4 or not

Last Updated : 15 Feb, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

Given a number, the task is to check if a number is divisible by 4 or not. The input number may be large and it may not be possible to store even if we use long long int.

Examples:

Input : n = 1124
Output : Yes

Input : n = 1234567589333862
Output : No

Input : n = 363588395960667043875487
Output : No

Using the modulo division operator "%"

This approach directly checks divisibility by 4 using the modulo operator (%).

  • Compute n % 4.
  • If the remainder is 0, the number is divisible by 4; otherwise, it is not.
C++
#include <iostream>
using namespace std;
int main()
{
    // input
    long long int n = 1234567589333862;
     
    // finding given number is divisible by 4 or not
    if (n % 4 == 0)
    {
        cout << "Yes";
    }
    else
    {
        cout << "No";
    }
   
    return 0;
}
C
#include <stdio.h>
int main()
{
    // input
    long long int n = 1234567589333862;
    
    // finding given number is divisible by 4 or not
    if (n % 4 == 0)
    {
        printf("Yes");
    }
    else
    {
        printf("No");
    }
   
    return 0;
}
Java
/*package whatever //do not write package name here */
import java.io.*;

class GFG {
    public static void main (String[] args) {
      
      // input
        long n=123456758933l;
         
        // finding given number is divisible by 4 or not
        if (n % 4 == 0)
        {
            System.out.println("Yes");
        }
        else
        {
            System.out.println("No");
        }  
      
       
    }
}
Python
# Python code 
# To check whether the given number is divisible by 4 or not

#input 
n=1234567589333862
# the above input can also be given as n=input() -> taking input from user
# finding given number is divisible by 4 or not
if int(n)%4==0:
  print("Yes") 
else: 
  print("No")
C#
using System;
public class GFG{

    static public void Main (){

       // input
        long n=1234567589333862;
         
        // finding given number is divisible by 4 or not
        if (n % 4 == 0)
        {
            Console.Write("Yes");
        }
        else
        {
            Console.Write("No");
        }  
      
    }
}
JavaScript
        // JavaScript code for the above approach
        // To check whether the given number is divisible by 4 or not

        //input 
        var n = 1234567589333862
        // finding given number is divisible by 4 or not
        if (n % 4 == 0)
            document.write("Yes")
        else
            document.write("No")

    
PHP
<?php
    $num = 1234567589333862;
    // checking if the given number is divisible by 4 or
    // not using modulo division operator if the output of
    // num%4 is equal to 0 then given number is divisible
    // by 4 otherwise not divisible by 4
    if ($num % 4 == 0) {
        echo "true";
    }
    else {
        echo "false";
    }
  
?>

Output
No

Time Complexity - O(1)
Auxiliary Space - O(1)

Checking Divisibility of the Last 2 Digits

Since input number may be very large, we cannot use n % 4 to check if a number is divisible by 4 or not, especially in languages like C/C++. The idea is based on following fact.

A number is divisible by 4 if number formed by last two digits of it is divisible by 4. For example, let us consider 76952. Number formed by last two digits = 52. Since 52 is divisible by 4, answer is YES.

How does this work? Let us consider 76952, we can write it as 76952 = 7*10000 + 6*1000 + 9*100 + 5*10 + 2
The proof is based on below observation:
Remainder of 10i divided by 4 is 0 if i greater than or equal to two. Note than 100, 1000, .. etc lead to remainder 0 when divided by 4. So remainder of "7*10000 + 6*1000 + 9*100 + 5*10 + 2" divided by 4 is equivalent to remainder
of following :
0 + 0 + 0 + 5*10 + 2 = 52
Therefore we can say that the whole number is divisible by 4 if 52 is divisible by 4.

C++
// C++ program to find if a number is divisible by
// 4 or not
#include <bits/stdc++.h>
using namespace std;

// Function to find that number divisible by
// 4 or not
bool check(string str)
{
    int n = str.length();

    // Empty string
    if (n == 0)
        return false;

    // If there is single digit
    if (n == 1)
        return ((str[0] - '0') % 4 == 0);

    // If number formed by last two digits is
    // divisible by 4.
    int last = str[n - 1] - '0';
    int second_last = str[n - 2] - '0';
    return ((second_last * 10 + last) % 4 == 0);
}

// Driver code
int main()
{
    string str = "76952";
  
    // Function call
    check(str) ? cout << "Yes" : cout << "No ";
    return 0;
}
C
#include <stdio.h>
#include <string.h>

// Function to find that number divisible by
// 4 or not
int check(char str[]) {
    int n = strlen(str);

    // Empty string
    if (n == 0)
        return 0;

    // If there is single digit
    if (n == 1)
        return ((str[0] - '0') % 4 == 0);

    // If number formed by last two digits is
    // divisible by 4.
    int last = str[n - 1] - '0';
    int second_last = str[n - 2] - '0';
    return ((second_last * 10 + last) % 4 == 0);
}

// Driver code
int main() {
    char str[] = "76952";
  
    // Function call
    check(str) ? printf("Yes") : printf("No ");
    return 0;
}
Java
// Java program to find if a number is
// divisible by 4 or not
import java.util.*;
class IsDivisible 
{
    // Function to find that number
    // is divisible by 4 or not
    static boolean check(String str)
    {
        int n = str.length();

        // Empty string
        if (n == 0)
            return false;

        // If there is single digit
        if (n == 1)
            return ((str.charAt(0) - '0') % 4 == 0);

        // If number formed by last two digits is
        // divisible by 4.
        int last = str.charAt(n - 1) - '0';
        int second_last = str.charAt(n - 2) - '0';
        return ((second_last * 10 + last) % 4 == 0);
    }

    // Driver code
    public static void main(String[] args)
    {
        String str = "76952";
      
        // Function call
        if (check(str))
            System.out.println("Yes");
        else
            System.out.println("No");
    }
}
Python
# Python 3 program to find
# if a number is divisible
# by 4 or not

# Function to find that
# number divisible by
# 4 or not


def check(st):
    n = len(st)

    # Empty string
    if (n == 0):
        return False

    # If there is single
    # digit
    if (n == 1):
        return ((st[0] - '0') % 4 == 0)

    # If number formed by
    # last two digits is
    # divisible by 4.
    last = (int)(st[n - 1])
    second_last = (int)(st[n - 2])

    return ((second_last * 10 + last) % 4 == 0)


# Driver code
st = "76952"

# Function call
if(check(st)):
    print("Yes")
else:
    print("No ")

# This code is contributed by Nikita tiwari
C#
// C# program to find if a number is
// divisible by 4 or not
using System;

class GFG 
{
    // Function to find that number
    // is divisible by 4 or not
    static bool check(String str)
    {
        int n = str.Length;

        // Empty string
        if (n == 0)
            return false;

        // If there is single digit
        if (n == 1)
            return ((str[0] - '0') % 4 == 0);

        // If number formed by last two
        // digits is divisible by 4.
        int last = str[n - 1] - '0';
        int second_last = str[n - 2] - '0';

        return ((second_last * 10 + last) % 4 == 0);
    }

    // Driver code
    public static void Main()
    {
        String str = "76952";

        // Function call
        if (check(str))
            Console.Write("Yes");
        else
            Console.Write("No");
    }
}

// This code is Contributed by nitin mittal.
JavaScript
//Javascript program to check whether a string is divisible by 4 or not

// function to check the divisibility
function check(str)
{  
      // checking the length for future reference
      var n = str.length; 

      // if it is empty then directly returning false
      if( n == 0)
      {         
           return false;
      }
 
      if( n == 1)
      {
           return ((str[0] -'0') % 4 == 0); 
      }
      var lastNumber = str[n-1] -'0';
      var lastSecondNUmber = str[n-2] -'0';
      return ((lastSecondNUmber * 10  + lastNumber) % 4 == 0);    
}

// Driver code
var str="76952";

//checking the value by passing it into the function
// Function call
if(check(str)){
  console.log("Yes");
}
else{
  console.log("No");
}
PHP
<?php
// PHP program to find if a
// number is divisible by
// 4 or not

// Function to find that 
// number divisible by
// 4 or not
function check($str)
{
    $n = strlen($str);

    // Empty string
    if ($n == 0)
        return false;

    // If there is single digit
    if ($n == 1)
        return (($str[0] - '0') % 4 == 0);

    // If number formed by 
    // last two digits is
    // divisible by 4.
    $last = $str[$n - 1] - '0';
    $second_last = $str[$n - 2] - '0';
    return (($second_last * 10 + $last) % 4 == 0);
}

// Driver code
$str = "76952";

// Function call
$x = check($str)? "Yes" : "No";
echo($x);

// This code is contributed by Ajit.
?>

Output
Yes

Time Complexity - O(1)
Auxiliary Space - O(1)

Alternate Implementation - Substring to Integer Conversion

  • Use substring function to get the last two characters of the string.
  • Convert the string to integer
  • Check if it is divisible by 4 or not, using (number%4 == 0).
C++
// C++ program to find if a number is divisible by 4 or not
#include <bits/stdc++.h>
using namespace std;

// Function to find that number divisible by 4 or not
bool check(string str)
{
    // Get the length of the string
    int n = str.length();

    // Empty string
    if (n == 0)
        return false;
    // stoi(string_variable) is used in C++
    // to convert string to integer

    // If there is single digit
    if (n == 1)
        return ((stoi(str)) % 4 == 0);

    // getting last two characters using substring
    str = str.substr(n - 2, 2);
    
    // If number formed by last two digits is divisible by 4.
    return ((stoi(str)) % 4 == 0);
}

// Driver code
int main()
{
    string str = "76952";

    // Function call
    check(str) ? cout << "Yes" : cout << "No ";
    return 0;
}
C
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

// Function to find that number divisible by 4 or not
int check(char *str)
{
    // Get the length of the string
    int n = strlen(str);

    // Empty string
    if (n == 0)
        return 0;

    // If there is single digit
    if (n == 1)
        return (atoi(str) % 4 == 0);

    // Getting last two characters
    char lastTwo[3];
    strncpy(lastTwo, str + n - 2, 2);
    lastTwo[2] = '\0'; // Null-terminate the string

    // If number formed by last two digits is divisible by 4.
    return (atoi(lastTwo) % 4 == 0);
}

// Driver code
int main()
{
    char str[] = "76952";

    // Function call
    check(str) ? printf("Yes\n") : printf("No\n");
    return 0;
}
Java
// Java program to find if a number is divisible by 4 or not
import java.util.*;

public class Main {
    // Function to find that number divisible by 4 or not
    static boolean check(String str) {
        // Empty string
        if (str.length() == 0)
            return false;
        // If there is single digit
        if (str.length() == 1)
            return (Integer.parseInt(str) % 4 == 0);
        // If number formed by last two digits is divisible by 4.
        return (Integer.parseInt(str.substring(str.length() - 2)) % 4 == 0);
    }

    // Driver code
    public static void main(String[] args) {
        String str = "76952";
        // Function call
        System.out.println(check(str) ? "Yes" : "No ");
    }
}
Python
# Python program to find if a number is divisible by 4 or not
def check(s):
    # Empty string
    if len(s) == 0:
        return False
    # If there is single digit
    if len(s) == 1:
        return int(s) % 4 == 0
    # If number formed by last two digits is divisible by 4.
    return int(s[-2:]) % 4 == 0

# Driver code
s = "76952"

# Function call
print("Yes" if check(s) else "No ")
C#
// C# program to find if a number is divisible by 4 or not
using System;

class Program {
    // Function to find that number divisible by 4 or not
    static bool Check(string str) {
        // Empty string
        if (str.Length == 0)
            return false;
        // If there is single digit
        if (str.Length == 1)
            return (int.Parse(str) % 4 == 0);
        // If number formed by last two digits is divisible by 4.
        return (int.Parse(str.Substring(str.Length - 2)) % 4 == 0);
    }

    // Driver code
    static void Main() {
        string str = "76952";
        // Function call
        Console.WriteLine(Check(str) ? "Yes" : "No ");
    }
}
JavaScript
// JavaScript program to find if a number is divisible by 4 or not
function check(s) {
    // Empty string
    if (s.length === 0) return false;
    // If there is single digit
    if (s.length === 1) return (parseInt(s) % 4 === 0);
    // If number formed by last two digits is divisible by 4.
    return (parseInt(s.slice(-2)) % 4 === 0);
}

// Driver code
let str = "76952";

// Function call
console.log(check(str) ? "Yes" : "No ");
PHP
<?php
// PHP program to find if a number is divisible by 4 or not
function check($str) {
    // Empty string
    if (strlen($str) == 0) return false;
    // If there is single digit
    if (strlen($str) == 1) return (intval($str) % 4 == 0);
    // If number formed by last two digits is divisible by 4.
    return (intval(substr($str, -2)) % 4 == 0);
}

// Driver code
$str = "76952";

// Function call
echo check($str) ? "Yes" : "No ";
?>

Output
Yes

Time Complexity - O(1)
Auxiliary Space - O(1)


Next Article

Similar Reads