快速幂(基础)

来源:互联网 发布:通话数据统计软件 编辑:程序博客网 时间:2024/06/05 03:50

  快速幂ACM算法中比较基础的部分

  快速幂:快速求一个数的n次方

  例:求3的8次方,常规计算需要计算八次,快速幂三次(计算3*3记录所得数9,计算9*9记录所得数81,最后计算81*81即为所求)

如果是奇数次方就让a乘n,偶数次方n进行平方(n为底数,m为指数,a为所求)

#include<stdio.h>int main(){int n,m;scanf("%d%d",&n,&m);int a=1;while(m){if(m%2)a*=n;n*=n;m/=2;}printf("%d\n",a);return 0;}


原创粉丝点击