Check if a larger number divisible by 36
Given a number, check whether a given number is divisible by 36 or not. The number may be very large and may not fit in any numeric(int, long int, float, etc.) data type.
Examples:
Input : 72 Output : Yes Input : 244 Output : No Input : 11322134 Output : No Input : 92567812197966231384 Output : Yes
A number is divisible by 36 if the number is divisible by 4 and 9
- A number is divisible by 4 if the number formed by its last 2 digits is divisible by 4
- A number is divisible by 9 if the sum of the digits of the number is divisible by 9
Below is the implementation based on above idea.
C++
// C++ implementation to check divisibility by 36 #include <bits/stdc++.h> using namespace std; // Function to check whether a number // is divisible by 36 or not string divisibleBy36(string num) { int l = num.length(); // null number cannot // be divisible by 36 if (l == 0) return "No" ; // single digit number other than // 0 is not divisible by 36 if (l == 1 && num[0] != '0' ) return "No" ; // number formed by the last 2 digits int two_digit_num = (num[l-2] - '0' )*10 + (num[l-1] - '0' ) ; // if number is not divisible by 4 if (two_digit_num%4 != 0) return "No" ; // number is divisible by 4 calculate // sum of digits int sum = 0; for ( int i=0; i<l; i++) sum += (num[i] - '0' ); // sum of digits is not divisible by 9 if (sum%9 != 0) return "No" ; // number is divisible by 4 and 9 // hence, number is divisible by 36 return "Yes" ; } // Driver program int main() { string num = "92567812197966231384" ; cout << divisibleBy36(num); return 0; } |
chevron_right
filter_none
Java
// Java program to find if a number is // divisible by 36 or not class IsDivisible { // Function to check whether a number // is divisible by 36 or not static boolean divisibleBy36(String num) { int l = num.length(); // null number cannot // be divisible by 36 if (l == 0 ) return false ; // single digit number other than // 0 is not divisible by 36 if (l == 1 && num.charAt( 0 ) != '0' ) return false ; // number formed by the last 2 digits int two_digit_num = (num.charAt(l- 2 ) - '0' )* 10 + (num.charAt(l- 1 ) - '0' ) ; // if number is not divisible by 4 if (two_digit_num% 4 != 0 ) return false ; // number is divisible by 4 calculate // sum of digits int sum = 0 ; for ( int i= 0 ; i<l; i++) sum += (num.charAt(i) - '0' ); // sum of digits is not divisible by 9 if (sum% 9 != 0 ) return false ; // number is divisible by 4 and 9 // hence, number is divisible by 36 return true ; } // main function public static void main (String[] args) { String num = "92567812197966231384" ; if (divisibleBy36(num)) System.out.println( "Yes" ); else System.out.println( "No" ); } } |
chevron_right
filter_none
Python3
# Python 3 implementation to # check divisibility by 36 # Function to check whether a # number is divisible by # 36 or not def divisibleBy36(num) : l = len (num) # null number cannot # be divisible by 36 if (l = = 0 ) : return ( "No" ) # single digit number other # than 0 is not divisible # by 36 if (l = = 1 and num[ 0 ] ! = '0' ) : return ( "No" ) # number formed by the # last 2 digits two_digit_num = ((( int )(num[l - 2 ])) * 10 + ( int )(num[l - 1 ])) # if number is not # divisible by 4 if (two_digit_num % 4 ! = 0 ) : return "No" # number is divisible # by 4 calculate sum # of digits sm = 0 for i in range ( 0 ,l) : sm = sm + ( int )(num[i]) # sum of digits is not # divisible by 9 if (sm % 9 ! = 0 ) : return ( "No" ) # Number is divisible # by 4 and 9 hence, # number is divisible # by 36 return ( "Yes" ) # Driver program num = "92567812197966231384" print (divisibleBy36(num)) # This code is contributed by Nikita Tiwari. |
chevron_right
filter_none
C#
// C# program to find if a number is // divisible by 36 or not using System; class GFG { // Function to check whether // a number is divisible by // 36 or not static bool divisibleBy36(String num) { int l = num.Length; // null number cannot // be divisible by 36 if (l == 0) return false ; // single digit number other than // 0 is not divisible by 36 if (l == 1 && num[0] != '0' ) return false ; // number formed by the last // 2 digits int two_digit_num = (num[l-2] - '0' ) * 10 + (num[l-1] - '0' ) ; // if number is not divisible by 4 if (two_digit_num % 4 != 0) return false ; // number is divisible by 4 calculate // sum of digits int sum = 0; for ( int i = 0; i < l; i++) sum += (num[i] - '0' ); // sum of digits is not divisible by 9 if (sum % 9 != 0) return false ; // number is divisible by 4 and 9 // hence, number is divisible by 36 return true ; } // main function public static void Main () { String num = "92567812197966231384" ; if (divisibleBy36(num)) Console.Write( "Yes" ); else Console.Write( "No" ); } } // This code is contributed by parashar. |
chevron_right
filter_none
PHP
<?php // PHP implementation to // check divisibility by 36 // Function to check whether a number // is divisible by 36 or not function divisibleBy36( $num ) { $l = strlen ( $num ); // null number cannot // be divisible by 36 if ( $l == 0) return "No" ; // single digit number other than // 0 is not divisible by 36 if ( $l == 1 && $num [0] != '0' ) return "No" ; // number formed by the // last 2 digits $two_digit_num = ( $num [ $l - 2] - '0' ) * 10 + ( $num [ $l - 1] - '0' ) ; // if number is not // divisible by 4 if ( $two_digit_num %4 != 0) return "No" ; // number is divisible by 4 // calculate sum of digits $sum = 0; for ( $i = 0; $i < $l ; $i ++) $sum += ( $num [ $i ] - '0' ); // sum of digits is not // divisible by 9 if ( $sum % 9 != 0) return "No" ; // number is divisible by 4 and 9 // hence, number is divisible by 36 return "Yes" ; } // Driver Code $num = "92567812197966231384" ; echo (divisibleBy36( $num )); // This code is contributed by Ajit. ?> |
chevron_right
filter_none
Output:
Yes
Time Complexity: O(n)
This article is contributed by Ayush Jauhari. 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.
Recommended Posts:
- Check if a number is divisible by 23 or not
- Check if a number is divisible by 41 or not
- Check if a number is divisible by all prime divisors of another number
- To check whether a large number is divisible by 7
- Check if any large number is divisible by 17 or not
- Check if a large number is divisible by 20
- Check if a large number is divisible by 13 or not
- Check if a large number is divisible by 75 or not
- Check if any large number is divisible by 19 or not
- Check a large number is divisible by 16 or not
- Check if a large number is divisible by 6 or not
- Check if a large number is divisible by 8 or not
- Check if a large number is divisible by 4 or not
- Check if a large number is divisible by 9 or not
- Check if a large number is divisible by 5 or not