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;
}

/div>

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

You Might Also Like

leave a comment

code

0 Comments

load comments

Subscribe to Our Newsletter