Given a number, the task is to check if a number is divisible by 6 or not. The input number may be large and it may not be possible to store even if we use long long int.
Examples:
Input : n = 2112 Output : Yes Input : n = 1124 Output : No Input : n = 363588395960667043875487 Output : No
Since input number may be very large, we cannot use n % 6 to check if a number is divisible by 8 or not, especially in languages like C/C++. The idea is based on following fact.
A number is divisible by 6 it's divisible by 2 and 3. a) A number is divisible by 2 if its last digit is divisible by 2. b) A number is divisible by 3 if sum of digits is divisible by 3.
Below is the implementation based on above steps.
C++
// C++ program to find if a number is divisible by // 6 or not #include<bits/stdc++.h> using namespace std; // Function to find that number divisble by 6 or not bool check(string str) { int n = str.length(); // Return false if number is not divisible by 2. if ((str[n-1]- '0' )%2 != 0) return false ; // If we reach here, number is divisible by 2. // Now check for 3. // Compute sum of digits int digitSum = 0; for ( int i=0; i<n; i++) digitSum += (str[i]- '0' ); // Check if sum of digits is divisible by 3 return (digitSum % 3 == 0); } // Driver code int main() { string str = "1332" ; check(str)? cout << "Yes" : cout << "No " ; return 0; } |
Java
// Java program to find if a number is // divisible by 6 or not class IsDivisible { // Function to find that number divisble by 6 or not static boolean check(String str) { int n = str.length(); // Return false if number is not divisible by 2. if ((str.charAt(n- 1 ) - '0' )% 2 != 0 ) return false ; // If we reach here, number is divisible by 2. // Now check for 3. // Compute sum of digits int digitSum = 0 ; for ( int i= 0 ; i<n; i++) digitSum += (str.charAt(i)- '0' ); // Check if sum of digits is divisible by 3 return (digitSum % 3 == 0 ); } // main function public static void main (String[] args) { String str = "1332" ; if (check(str)) System.out.println( "Yes" ); else System.out.println( "No" ); } } |
Python3
# Python 3 program to find # if a number is divisible # by 6 or not # Function to find that number # is divisible by 6 or not def check(st) : n = len (st) # Return false if number # is not divisible by 2. if ((( int )(st[n - 1 ]) % 2 ) ! = 0 ) : return False # If we reach here, number # is divisible by 2. Now # check for 3. # Compute sum of digits digitSum = 0 for i in range ( 0 , n) : digitSum = digitSum + ( int )(st[i]) # Check if sum of digits # is divisible by 3 return (digitSum % 3 = = 0 ) # Driver code st = "1332" if (check(st)) : print ( "Yes" ) else : print ( "No " ) # This article is contributed by Nikita Tiwari. |
C#
// C# program to find if a number is // divisible by 6 or not using System; class GFG { // Function to find that number // divisble by 6 or not static bool check(String str) { int n = str.Length; // Return false if number is // not divisible by 2. if ((str[n-1] - '0' ) % 2 != 0) return false ; // If we reach here, number is // divisible by 2. // Now check for 3. // Compute sum of digits int digitSum = 0; for ( int i = 0; i < n; i++) digitSum += (str[i] - '0' ); // Check if sum of digits is // divisible by 3 return (digitSum % 3 == 0); } // main function public static void Main () { String str = "1332" ; if (check(str)) Console.Write( "Yes" ); else Console.Write( "No" ); } } // This code is contributed by parashar. |
PHP
<?php // PHP program to find if a // number is divisible by // 6 or not // Function to find that number // divisble by 6 or not function check( $str ) { $n = strlen ( $str ); // Return false if number is // not divisible by 2. if (( $str [ $n - 1] - '0' ) % 2 != 0) return false; // If we reach here, number // is divisible by 2. // Now check for 3. // Compute sum of digits $digitSum = 0; for ( $i = 0; $i < $n ; $i ++) $digitSum += ( $str [ $i ] - '0' ); // Check if sum of digits // is divisible by 3 return ( $digitSum % 3 == 0); } // Driver code $str = "1332" ; if (check( $str )) echo "Yes" ; else echo " No " ; return 0; // This code is contributed by nitin mittal. ?> |
Output:
Yes
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
leave a comment
0 Comments