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++

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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\n": cout << "No\n";
    string s1 = "15645746327462384723984023940235";
    isDivisible(s1)? cout << "Yes\n": cout << "No\n";
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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)

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?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\n") : print("No\n");
  
$s = "15645746327462384723984023940235";
isDivisible($s) ? 
print("Yes\n") : print("No\n");
  
// This code is contributed by mits
?>

chevron_right



Output:

No
Yes

Time complexity: O(number of digits)

This article is contributed by Striver. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

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



My Personal Notes arrow_drop_up

Improved By : Mithun Kumar, Akanksha_Rai