博客
关于我
快速幂算法介绍
阅读量:243 次
发布时间:2019-03-01

本文共 702 字,大约阅读时间需要 2 分钟。

计算一个数的幂次,其实是不用计算N次的

 

 

//递归快速幂int qpow(int a, int n){    if (n == 0)        return 1;    else if (n % 2 == 1)        return qpow(a, n - 1) * a;    else    {        int temp = qpow(a, n / 2);        return temp * temp;    }}

 

快速幂取模

//递归快速幂(对大素数取模)#define MOD 1000000007typedef long long ll;ll qpow(ll a, ll n){    if (n == 0)        return 1;    else if (n % 2 == 1)        return qpow(a, n - 1) * a % MOD;    else    {        ll temp = qpow(a, n / 2) % MOD;        return temp * temp % MOD;    }}

 

//非递归快速幂int qpow(int a, int n){    int ans = 1;    while(n){        if(n&1)        //如果n的当前末位为1            ans *= a;  //ans乘上当前的a        a *= a;        //a自乘        n >>= 1;       //n往右移一位    }    return ans;}

 

转载地址:http://xsmv.baihongyu.com/

你可能感兴趣的文章
mysql性能优化学习笔记-存储引擎
查看>>
MySQL性能优化必备25条
查看>>
Mysql性能优化(1):SQL的执行过程
查看>>
Mysql性能优化(2):数据库索引
查看>>
Mysql性能优化(3):分析执行计划
查看>>
Mysql性能优化(4):优化的注意事项
查看>>
Mysql性能优化(5):主从同步原理与实现
查看>>
Mysql性能优化(6):读写分离
查看>>
MySQL性能优化(八)--
查看>>
MySQL性能测试及调优中的死锁处理方法
查看>>
mysql性能测试工具选择 mysql软件测试
查看>>
mysql恢复root密码
查看>>
Mysql悲观锁
查看>>
MySQL慢查询-开启慢查询
查看>>
MySQL慢查询分析和性能优化的方法和技巧
查看>>
MySQL慢查询日志总结
查看>>
Mysql慢查询日志,查询截取分析
查看>>
MySQL慢查询问题排查
查看>>
mysql截取sql语句
查看>>
mysql截取身份证号前几位_EXCEL中怎样截取身份证号前六位数字
查看>>