28. Check if a number is divisible by 8

The problem can be found at the following link: Question Link

My Approach

After analyzing the pattern, we've observed that if the last three digits of a number are divisible by 8, then the entire number is also divisible by 8. Therefore, let's solve this question using that approach.

  • I extract the last three digits of the given string.

  • I convert these last three digits to an integer.

  • I check if this integer is divisible by 8.

  • If it is divisible by 8, I return 1; otherwise, I return -1.

Time and Auxiliary Space Complexity

  • Time Complexity: O(1), as the operations are constant time operations.

  • Auxiliary Space Complexity: O(1), as no extra space is used other than a few variables.

Code (C++)

class Solution {
public:
    int DivisibleByEight(string s) {
        int n = s.size();
        int l = stoi(s.substr(max(n - 3, 0)));
        return l % 8 == 0 ? 1 : -1;
    }
};

Contribution and Support

For discussions, questions, or doubts related to this solution, please visit our discussion section. We welcome your input and aim to foster a collaborative learning environment.

If you find this solution helpful, consider supporting us by giving a ⭐ star to the getlost01/gfg-potd repository.

Last updated