一、预知识点
1、幂数
幂数取余运算
2、递归
递归找终止条件和递推关系
二、题目
1、剑指 Offer 64. 求1+2+…+n
题目
class Solution {
public:
int sumNums(int n) {
n&&(n+=sumNums(n-1));
return n;
}
};
2、231. 2 的幂
题目
class Solution {
public:
bool isPowerOfTwo(int n) {
if(n<=0) return false;
while(n>1){
if(n%2) return false;
n/=2;
}
return true;
}
};
3、326. 3 的幂
题目
class Solution {
public:
bool isPowerOfThree(int n) {
if(n<=0) return false;
while(n>1){
if(n%3) return false;
n/=3;
}
return true;
}
};
4、342. 4的幂
题目
class Solution {
public:
bool isPowerOfFour(int n) {
if(n<=0) return false;
while(n>1){
if(n%4) return false;
n/=4;
}
return true;
}
};
5、1492. n 的第 k 个因子
题目
class Solution {
public:
int kthFactor(int n, int k) {
for(int i=1;i<=n;i++){
if(n%i==0) k--;
if(k==0) return i;
}
return -1;
}
};
6、367. 有效的完全平方数
题目
class Solution {
public:
bool isPerfectSquare(int num) {
int i=0;
while(num>0){
num-=(2*i+1);
i++;
}
return !num;
}
};
三、收获
1、
完全平方数是连续的奇数和
四、参考
|