【算法|快速幂 教程】对于an,若n为奇数,a^(n-1)*a;
若n为偶数,a^(n/2)*a^(n/2) ;
若n为0, 1。
文章图片
文章图片
/*
快速幂
对于an,若n为奇数,a^(n-1)*a;
若n为偶数,a^(n/2)*a^(n/2) ;
若n为0, 1。
*/
#include using namespace std;
int x, p, m, i,result;
int main() {
int x,n;
cin >> x >> n;
result = 1 ;
while (n!=0) {if (n % 2 == 1)result= result*x;
n /= 2;
x=x*x;
} cout << result<< endl;
return 0;
}
推荐阅读
- acwing|【蓝桥杯】1246. 等差数列*
- 算法|近似算法的近似率_选择最佳近似最近算法的数据科学家指南
- Linux|malloc 内存分配位置及进程内存布局
- 蓝桥杯真题省赛2021|蓝桥杯 2021省赛 python 路径
- #|2017年蓝桥杯省赛-承压计算
- 大话设计模式|大话设计模式 —— 第二章《策略模式》C++ 代码实现
- 算法刷题|LeetCode刷题笔记-21.合并两个有序链表
- python|第一篇博客,与您共勉
- 蓝桥杯|蓝桥杯python(题目思路即解答(笔记,持续更新))