Comprueba si un número grande es divisible por 15

Dado un número muy grande. Comprueba su divisibilidad por 15.
Ejemplos: 
 

Input: 31
Output: No

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

Un número es divisible por 15 si es divisible por 5 (si la última cifra es 5 o 0), y es divisible por 3 (si la suma de las cifras es divisible por 3).
Aquí, se utiliza la función de acumulación para sumar todos los números. 
 

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

Javascript

<script>
// Javascript program to check if
// a large number is
// divisible by 15
// to find sum
 
function accumulate(s)
{
    let acc = 0;
    for(let i = 0;
        i < s.length; i++)
    {
        acc += s[i] - '0';
    }
    return acc;
}
 
// function to check
// if a large number
// is divisible by 15
function isDivisible(s)
{
 
    // length of string
    let n = s.length;
 
    // check divisibility by 5
    if (s[n - 1] != '5' &&
        s[n - 1] != '0')
        return false;
 
    // Sum of digits
    let sum = accumulate(s);
     
    // if divisible by 3
    return (sum % 3 == 0);
}
 
// Driver Code
let s = "15645746327462384723984023940239";
isDivisible(s) ?
document.write("Yes<br>") : document.write("No<br>");
 
s = "15645746327462384723984023940235";
isDivisible(s) ?
document.write("Yes<br>") : document.write("No<br>");
 
// This code is contributed by _saurabh_jaiswal
</script>
Producción

No
Yes

Producción: 
 

No
Yes

Complejidad del tiempo: O (número de dígitos) 

método 2: comprobar que el número dado es divisible por 15 o no mediante el operador de división de módulo «%». 

Python3

# Python code
# To check whether the given number is divisible by 15 or not
 
#input
n=31
# the above input can also be given as n=input() -> taking input from user
# finding given number is divisible by 15 or not
if int(n)%15==0:
  print("Yes")
else:
  print("No")
 
  # this code is contributed by gangarajula laxmi

Javascript

<script>
       // JavaScript code for the above approach
       // To check whether the given number is divisible by 15 or not
 
       //input
       var n = 31
        
       // finding given number is divisible by 15 or not
       if (n % 15 == 0)
           document.write("Yes")
       else
           document.write("No")
 
 
   // This code is contributed by Potta Lokesh
   </script>
Producción

No

Este artículo es una contribución de Striver . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *