Tutorialspoint.dev

Check if a large number is divisibility by 15

Given a very large number. Check its divisibility by 15.

Examples:

Input: 31
Output: No

Input : num = "156457463274623847239840239
               402394085458848462385346236
               482374823647643742374523747
               264723762374620"
Output: Yes
Given number is divisible by 15



A number is divisible by 15 if it is divisible by 5 (if the last digit is 5 or 0), and it is divisible by 3 (if sum of digits is divisible by 3).

Here, used accumulate function to sum up all the numbers.

C++

// CPP program to check if a large
// number is divisible by 15
#include <bits/stdc++.h>
  
using namespace std;
  
// function to check if a large number
// is divisible by 15
bool isDivisible(string s)
{
    // length of string
    int n = s.length();
  
    // check divisibility by 5
    if (s[n - 1] != '5' and s[n - 1] != '0')
        return false;
  
    // Sum of digits
    int sum = accumulate(begin(s), end(s), 0) - '0' * n;
  
    // if divisible by 3
    return (sum % 3 == 0);
}
  
// driver program
int main()
{
    string s = "15645746327462384723984023940239";
    isDivisible(s)? cout << "Yes ": cout << "No ";
    string s1 = "15645746327462384723984023940235";
    isDivisible(s1)? cout << "Yes ": cout << "No ";
    return 0;
}

Java

// Java program to check if a large
// number is divisible by 15
import java.util.*;
  
class GFG
{
       
// function to check if a large 
// number is divisible by 15
public static boolean isDivisible(String S)
{
    // length of string
    int n = S.length();
      
    // check divisibility by 5
    if (S.charAt(n - 1) != '5' && 
        S.charAt(n - 1) != '0')
        return false;
          
    // Sum of digits
    int sum = 0;
    for(int i = 0; i < S.length(); i++)
        sum += (int)S.charAt(i);
          
        // if divisible by 3
        if(sum % 3 == 0)
            return true;
        else
            return false;
}
      
// Driver code
public static void main (String[] args)
{
    String S = "15645746327462384723984023940239";
    if(isDivisible(S) == true)
        System.out.println("Yes");
    else
        System.out.println("No");
          
    String S1 = "15645746327462384723984023940235";
    if(isDivisible(S1) == true)
        System.out.println("Yes");
    else
        System.out.println("No");
    }
}
          
// This code is contributed 
// by Akanksha Rai(Abby_akku)

Python3

# Python3 program to check if 
# a large number is 
# divisible by 15
  
# to find sum
def accumulate(s): 
    acc = 0;
    for i in range(len(s)):
        acc += ord(s[i]) - 48;
    return acc;
  
# function to check 
# if a large number
# is divisible by 15
def isDivisible(s):
    # length of string
    n = len(s);
  
    # check divisibility by 5
    if (s[n - 1] != '5' and s[n - 1] != '0'):
        return False;
  
    # Sum of digits
    sum = accumulate(s);
      
    # if divisible by 3
    return (sum % 3 == 0);
  
  
# Driver Code
s = "15645746327462384723984023940239";
if isDivisible(s):
    print("Yes"); 
else:
    print("No");
  
s = "15645746327462384723984023940235";
if isDivisible(s):
    print("Yes");
else:
    print("No");
  
# This code is contributed by mits

C#

// C# program to check if a large
// number is divisible by 15
using System;
  
class GFG
// function to check if a large 
// number is divisible by 15
public static bool isDivisible(String S)
{
    // length of string
    int n = S.Length;
      
    // check divisibility by 5
    if (S[n - 1] != '5' &&
        S[n - 1] != '0')
        return false;
          
    // Sum of digits
    int sum = 0;
    for(int i = 0; i < S.Length; i++)
        sum += (int)S[i];
          
        // if divisible by 3
        if(sum % 3 == 0)
            return true;
        else
            return false;
}
      
// Driver code
public static void Main()
{
    String S = "15645746327462384723984023940239";
    if(isDivisible(S) == true)
        Console.WriteLine("Yes");
    else
        Console.WriteLine("No");
          
    String S1 = "15645746327462384723984023940235";
    if(isDivisible(S1) == true)
        Console.WriteLine("Yes");
    else
        Console.WriteLine("No");
    }
}
          
// This code is contributed 
// by mits

PHP

<?php
// PHP program to check if 
// a large number is 
// divisible by 15
  
// to find sum
function accumulate($s
{
    $acc = 0;
    for($i = 0; 
        $i < strlen($s); $i++)
    {
        $acc += $s[$i] - '0';
    }
    return $acc;
}
  
// function to check 
// if a large number
// is divisible by 15
function isDivisible($s)
{
    // length of string
    $n = strlen($s);
  
    // check divisibility by 5
    if ($s[$n - 1] != '5' &&
        $s[$n - 1] != '0')
        return false;
  
    // Sum of digits
    $sum = accumulate($s);
      
    // if divisible by 3
    return ($sum % 3 == 0);
}
  
// Driver Code
$s = "15645746327462384723984023940239";
isDivisible($s) ? 
print("Yes ") : print("No ");
  
$s = "15645746327462384723984023940235";
isDivisible($s) ? 
print("Yes ") : print("No ");
  
// This code is contributed by mits
?>


Output:

No
Yes

Time complexity: O(number of digits)

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.



This article is attributed to GeeksforGeeks.org

leave a comment

code

0 Comments

load comments

Subscribe to Our Newsletter