题目要求:给出一个整数n,判断n是不是3的乘方。
另:尝试一下不使用循环和递归来解决这道题目(见下篇)
解题思路:若要判断n是不是3的乘方,可以用一个循环用n不断的除以3。如果n是3的乘方,则循环的过程中n除以3的余数将会一直为0。
程序实现:
class Solution {
public:
bool isPowerOfThree(int n) {
int i=0;
if (n == 0)
return 0;
while (n!=1 && i==0){
i = n % 3;
n = n / 3;
}
if (n == 1 && i == 0)
return 1;
else
return 0;
}
};
程序比较简单,我就不作过多的说明了。
总结:好久没更新博客了,最近一直在忙期末考试,都没有刷题。今天终于把期末考试忙完了,先做一道简单的熟悉一下,以后坚持一天一道题吧。看到实验室旁边的学长也在刷题,要加油!