Given a large Number the task is to check the number is divisible by 12 or not .
Examples :
Input : 12244824607284961224 Output : Yes Input : 92387493287593874594898678979792 Output : No
This is very simple approach. if a number is divisible by 4 and 3 then number is divisible by 12.
Point 1. If the last two digit of the number is divisible by 4 then number is divisible by 4. Please see divisibility by 4 for large numbers for details.
Point 2. if sum of all digit of a number divide by 3 then number is divisible by 3. Please see divisibility by 3 for large numbers for details.
CPP
// C++ Program to check if // number is divisible by 12 #include <iostream> using namespace std; bool isDvisibleBy12(string num) { // if number greater then 3 if (num.length() >= 3) { // fiind 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 then // 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 then 3 if (num.length() >= 3 ) { // fiind 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 then // 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 then 3 if ( len (num) > = 3 ): # fiind 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 then # 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 then 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 then // 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 then 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 then // 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. ?> |
Output:
Yes
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.