leetcode题解报告(幂)

Posted Shany-Ming

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode题解报告(幂)相关的知识,希望对你有一定的参考价值。

1.2的幂:

 

题目: 2的幂

 求2的幂很简单 只要二进制中只有一个1,也就是补码只有一个1即可

int getNum(int n)

    int count=0;
    while(n>0)
    
        n&=n-1;
        count++;
    
    return count;
//找出补码中1的个数
bool isPowerOfTwo(int n)
int t=getNum(n);
    if(t==1)
    return true;
    else
    return false;

2. 3的幂

 

 3的幂

用1持续乘3直到等于n返回true

bool isPowerOfThree(int n)
if(n==0)
return false;
if(n==1)
return true;
unsigned int k=1;
for(int i=0;i<32;i++)

    k*=3;
    if(k==n)
    
        return true;
        break;
    

return false;

3. 4的幂

 

4的幂

和上题方法一致

bool isPowerOfFour(int n)
if(n==0)
return false;
if(n==1)
return true;
unsigned int k=1;
for(int i=0;i<20;i++)

    k*=4;
    if(k==n)
    
        return true;
        break;
    

return false;

 

以上是关于leetcode题解报告(幂)的主要内容,如果未能解决你的问题,请参考以下文章

算法零基础学习leetcode 231326324题解

leetcode 50 Pow(x,n) 快速幂

leetcode 50 Pow(x,n) 快速幂

九日集训《LeetCode刷题报告》题解内容Ⅰ

九日集训《LeetCode刷题报告》题解内容 Ⅱ

《LeetCode之每日一题》:46.4的幂