美文网首页
6_8快速N次方

6_8快速N次方

作者: X_Y | 来源:发表于2017-10-23 20:24 被阅读12次

如果更快的求一个整数k的n次方。如果两个整数相乘并得到结果的时间复杂度为O(1),得到整数k的N次方的过程请实现时间复杂度为O(logN)的方法。

给定k和n,请返回k的n次方,为了防止溢出,请返回结果Mod 1000000007的值。

测试样例:
2,3
返回:8

class QuickPower {
public:
    int getPower(int k, int N) {
        // write code here 
        if(0==N) return 1;
        if(0==k) return 0;
        int mod = 1000000007;
        long res = 1;
        long tmp = k;
        while(N != 0){
            if((N & 1) == 1){
                res *= tmp;
            }
            N >>= 1;
            tmp = (tmp*tmp)%mod;
            res %= mod;
        }
        return (int)res;
    }
};

相关文章

  • 6_8快速N次方

    如果更快的求一个整数k的n次方。如果两个整数相乘并得到结果的时间复杂度为O(1),得到整数k的N次方的过程请实现时...

  • 快速幂求a的b次方

    快速幂的目的:快速求幂 ,a的b次方。 平常我们算一个a的b次方的时间为O(b),也就是O(n)的时间复杂度,当然...

  • 关于算法的时间复杂度的排序

    O(1)

  • C语言中的平方,开根号

    C语言中的平方 库函数表达方法,X的n次方pow(X,n)X 代表代入的n次方数值n 代表代入的n次方pow(...

  • 2019-12-11

    快速幂 问题描述: 计算a ** n % b 其中a、b和n都是32位的非负整数 即求a的n次方对b的余数 问题示...

  • 快速N次方练习题

    如果更快的求一个整数k的n次方。如果两个整数相乘并得到结果的时间复杂度为O(1),得到整数k的N次方的过程请实现时...

  • 那些容易被忽视的数学常识

    一、a 的 n 次方的理解(a^n) 我们都知道,10的 n 次方就是 n 个 10 相乘,那么 10^0 或者 ...

  • N次方

    沉下心来,没有什么技巧,唯有踏踏实实的做事情。越急越乱,最终只会手忙脚乱!做加法没有乘法快,做乘法没有N次方快!自...

  • N次方

    1. 认识恩恩的时候我们才十六岁。恩恩说世界是N的N次方,有无限的可能,这是个玄妙而难以解释的话,但他自己很好的诠...

  • 《N次方》

    一季节只想做简单的加减法比如,零上春暖花开零下万物凋零再来一场N次方的雪,冰封千里 二风吹着落叶在地上翻滚不妨做个...

网友评论

      本文标题:6_8快速N次方

      本文链接:https://www.haomeiwen.com/subject/fpfzuxtx.html