326.cpp 686 B

1234567891011121314151617181920212223242526272829303132
  1. #include <iostream>
  2. #include <cstdint>
  3. #include <cmath>
  4. class Solution {
  5. public:
  6. bool isPowerOfThree(int n) {
  7. if ( n <= 0 ) { return false; }
  8. if ( n == 1 ) { return true; }
  9. for ( int i = 1; i < n; ++i ) {
  10. long val = pow(3, i);
  11. if ( val == n ) { return true; }
  12. if ( val > n ) { return false; }
  13. }
  14. return false;
  15. }
  16. };
  17. void r(int n, bool exp) {
  18. std::cout << "Solution().isPowerOfThree(" << n << ") = ";
  19. std::cout << Solution().isPowerOfThree(n);
  20. std::cout << " | exp: " << exp << "\n";
  21. };
  22. int main(void) {
  23. r(27, true);
  24. r(9, false);
  25. r(0, false);
  26. r(-1, false);
  27. return 0;
  28. }