博客
关于我
快速幂算法介绍
阅读量: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/

你可能感兴趣的文章
NIO同步网络编程
查看>>
NIO基于UDP协议的网络编程
查看>>
NIO笔记---上
查看>>
NIO蔚来 面试——IP地址你了解多少?
查看>>
NISP一级,NISP二级报考说明,零基础入门到精通,收藏这篇就够了
查看>>
NISP国家信息安全水平考试,收藏这一篇就够了
查看>>
NIS服务器的配置过程
查看>>
NIS认证管理域中的用户
查看>>
Nitrux 3.8 发布!性能全面提升,带来非凡体验
查看>>
NiuShop开源商城系统 SQL注入漏洞复现
查看>>
NI笔试——大数加法
查看>>
NLog 自定义字段 写入 oracle
查看>>
NLog类库使用探索——详解配置
查看>>
NLP 基于kashgari和BERT实现中文命名实体识别(NER)
查看>>
NLP 模型中的偏差和公平性检测
查看>>
Vue3.0 性能提升主要是通过哪几方面体现的?
查看>>
NLP 项目:维基百科文章爬虫和分类【01】 - 语料库阅读器
查看>>
NLP_什么是统计语言模型_条件概率的链式法则_n元统计语言模型_马尔科夫链_数据稀疏(出现了词库中没有的词)_统计语言模型的平滑策略---人工智能工作笔记0035
查看>>
NLP三大特征抽取器:CNN、RNN与Transformer全面解析
查看>>
NLP学习笔记:使用 Python 进行NLTK
查看>>