Divisibility by 12 for a large number
Given a large number, the task is to check whether the number is divisible by 12 or not.
Examples :
Input : 12244824607284961224 Output : Yes Input : 92387493287593874594898678979792 Output : No
Method 1: This is a very simple approach. if a number is divisible by 4 and 3 then the number is divisible by 12.
Point 1. If the last two digits of the number are divisible by 4 then the number is divisible by 4. Please see divisibility by 4 for large numbers for details.
Point 2. if the sum of all digits of a number is divided by 3 then the number is divisible by 3. Please see divisibility by 3 for large numbers for details.
C++
// C++ Program to check if // number is divisible by 12 #include <iostream> using namespace std; bool isDvisibleBy12(string num) { // if number greater than 3 if (num.length() >= 3) { // find last digit int d1 = ( int )num[num.length() - 1]; // no is odd if (d1 % 2 != 0) return (0); // find second last digit int d2 = ( int )num[num.length() - 2]; // find sum of all digits int sum = 0; for ( int i = 0; i < num.length(); i++) sum += num[i]; return (sum % 3 == 0 && (d2 * 10 + d1) % 4 == 0); } else { // if number is less than // or equal to 100 int number = stoi(num); return (number % 12 == 0); } } // Driver function int main() { string num = "12244824607284961224" ; if (isDvisibleBy12(num)) cout << "Yes" << endl; else cout << "No" << endl; return 0; } |
Java
// Java Program to check if // number is divisible by 12 import java.io.*; class GFG { static boolean isDvisibleBy12(String num) { // if number greater than 3 if (num.length() >= 3 ) { // find last digit int d1 = ( int )num.charAt(num.length() - 1 ); // no is odd if (d1 % 2 != 0 ) return false ; // find second last digit int d2 = ( int )num.charAt(num.length() - 2 ); // find sum of all digits int sum = 0 ; for ( int i = 0 ; i < num.length(); i++) sum += num.charAt(i); return (sum % 3 == 0 && (d2 * 10 + d1) % 4 == 0 ); } else { // if number is less than // or equal to 100 int number = Integer.parseInt(num); return (number % 12 == 0 ); } // driver function } public static void main (String[] args) { String num = "12244824607284961224" ; if (isDvisibleBy12(num)) System.out.print( "Yes" ); else System.out.print( "No" ); } } // This code is contributed by Gitanjali. |
Python3
# Python Program to check if # number is divisible by 12 import math def isDvisibleBy12( num): # if number greater than 3 if ( len (num) > = 3 ): # find last digit d1 = int (num[ len (num) - 1 ]); # no is odd if (d1 % 2 ! = 0 ): return False # find second last digit d2 = int (num[ len (num) - 2 ]) # find sum of all digits sum = 0 for i in range ( 0 , len (num) ): sum + = int (num[i]) return ( sum % 3 = = 0 and (d2 * 10 + d1) % 4 = = 0 ) else : # f number is less than # r equal to 100 number = int (num) return (number % 12 = = 0 ) num = "12244824607284961224" if (isDvisibleBy12(num)): print ( "Yes" ) else : print ( "No" ) # This code is contributed by Gitanjali. |
C#
// C# Program to check if // number is divisible by 12 using System; class GFG { static bool isDvisibleBy12( string num) { // if number greater than 3 if (num.Length >= 3) { // find last digit int d1 = ( int )num[num.Length - 1]; // no is odd if (d1 % 2 != 0) return false ; // find second last digit int d2 = ( int )num[num.Length - 2]; // find sum of all digits int sum = 0; for ( int i = 0; i < num.Length; i++) sum += num[i]; return (sum % 3 == 0 && (d2 * 10 + d1) % 4 == 0); } else { // if number is less than // or equal to 100 int number = int .Parse(num); return (number % 12 == 0); } } // Driver function public static void Main () { String num = "12244824607284961224" ; if (isDvisibleBy12(num)) Console.Write( "Yes" ); else Console.Write( "No" ); } } // This code is contributed by nitin mittal. |
PHP
<?php // PHP Program to check if // number is divisible by 12 function isDvisibleBy12( $num ) { // if number greater than 3 if ( strlen ( $num ) >= 3) { // find last digit $d1 = (int) $num [ strlen ( $num ) - 1]; // no is odd if ( $d1 % 2 != 0) return (0); // find second last digit $d2 = (int) $num [ strlen ( $num ) - 2]; // find sum of all digits $sum = 0; for ( $i = 0; $i < strlen ( $num ); $i ++) $sum += $num [ $i ]; return ( $sum % 3 == 0 && ( $d2 * 10 + $d1 ) % 4 == 0); } else { // if number is less than // or equal to 100 $number = stoi( $num ); return ( $number % 12 == 0); } } // Driver Code $num = "12244824607284961224" ; if (isDvisibleBy12( $num )) echo ( "Yes" ); else echo ( "No" ); // This code is contributed by Ajit. ?> |
Javascript
<script> // Javascript program to check if // number is divisible by 12 function isDvisibleBy12(num) { // If number greater than 3 if (num.length >= 3) { // Find last digit let d1 = num[num.length - 1].charCodeAt(); // No is odd if (d1 % 2 != 0) return false ; // Find second last digit let d2 = num[num.length - 2].charCodeAt(); // Find sum of all digits let sum = 0; for (let i = 0; i < num.length; i++) sum += num[i].charCodeAt(); return ((sum % 3 == 0) && (d2 * 10 + d1) % 4 == 0); } else { // If number is less than // or equal to 100 let number = parseInt(num, 10); document.write(number); return (number % 12 == 0); } } // Driver code let num = "12244824607284961224" ; if (isDvisibleBy12(num)) document.write( "Yes" ); else document.write( "No" ); // This code is contributed by divyeshrabadiya07 </script> |
Yes
Time Complexity: O(N), where N is the length of the given string.
Auxiliary Space: O(1)
Method: Checking given number is divisible by 12 or not by using the modulo division operator “%”.
C++
// C++ code for the above approach // To check whether the given number is divisible by 12 or not #include <iostream> using namespace std; int main() { // input long long int n = 12244824607; // finding given number is divisible by 12 or not if (n % 12 == 0){ cout<< "Yes" ; } else { cout<< "No" ; } return 0; } // This code is contributed by laxmigangarajula03 |
Java
// Java code for the above approach // To check whether the given number is divisible by 12 or // not import java.math.BigInteger; class GFG { public static void main(String[] args) { // input number BigInteger num = new BigInteger( "12244824607284961224" ); // finding given number is divisible by 12 or not if (num.mod( new BigInteger( "12" )) .equals( new BigInteger( "0" ))) { System.out.println( "Yes" ); } else { System.out.println( "No" ); } } } // This code is contributed by phasing17 |
Python3
# Python code # To check whether the given number is divisible by 12 or not #input n = 12244824607284961224 # the above input can also be given as n=input() -> taking input from user # finding given number is divisible by 12 or not if int (n) % 12 = = 0 : print ( "Yes" ) else : print ( "No" ) # this code is contributed by gangarajula laxmi |
C#
using System; public class GFG { static public void Main() { // input number double num = 12244824607284961224; // finding given number is divisible by 12 or not if (num % 12 == 0) { Console.Write( "Yes" ); } else { Console.Write( "No" ); } } } // This code is contributed by laxmigangarajula03 |
Javascript
<script> // JavaScript code for the above approach // To check whether the given number is divisible by 12 or not // input var n = 12244824607284961224 // finding given number is divisible by 12 or not if (n % 12 == 0) document.write( "Yes" ) else document.write( "No" ) // This code is contributed by laxmigangarajula03 </script> |
PHP
<?php // PHP program to check // if a large number is // divisible by 12. // Driver Code // input number $num = 12244824607; // finding given number is divisible by 12 or not if ( $num % 12 == 0) echo "Yes" ; else echo "No" ; // This code is contributed by satwik4409. ?> |
No
Time Complexity: O(1)
Auxiliary Space: O(1)
Please Login to comment...