2024-03-19 02:45:09 +08:00

36 lines
571 B
C

#include <stdio.h>
#include <math.h>
#define bool int
#define true 1
#define false 0
bool isPowerOfThree(int n)
{
double a = log10l(n) / log10l(3);
if (a - ((int)a) == 0)
{
return true;
}
return false;
}
/*
第二种不用循环的解法
bool isPowerOfThree(int n) {
if(n <= 0) return false;
while ( n % 3 == 0) {
n /= 3;
if( n==0 ) return false;
}
return n == 1;
}
*/
int main()
{
isPowerOfThree(27);
isPowerOfThree(243);
isPowerOfThree(4782968);
getchar();
return 0;
}