快速幂算法
2026/6/27 6:36:30 网站建设 项目流程

用下面的2个式子求幂:

, n是偶数

, n是奇数

若n的二进制数是为0或1,, 1,...k-1。

中有...。

,,, ...

迭代法+递归法

#include <stdio.h> #define llg long long llg expt_rec(llg b, llg n); llg expt_iter(llg b, llg n); int main() { llg b = -2, n = 13; llg r0, r1; r0 = expt_rec(b, n); r1 = expt_iter(b, n); printf("%lld\n%lld\n", r0, r1); return 0; } llg expt_rec(llg b, llg n) { if(n == 0) return 1; else if(n%2==0) { llg temp = expt_rec(b, n/2); return temp*temp; } else return b*expt_rec(b, n-1); } llg expt_iter(llg b, llg n) { llg r = 1; while(n) { if(n&1) { r *= b; } b *= b; n >>= 1; } return r; }

-8192
-8192

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询