1420 (A^B)%C

来源:互联网 发布:淘宝换货退款流程 编辑:程序博客网 时间:2024/05/01 07:17
#include<stdio.h>int Calculate(_int64 a,int b,int c);int main(){int cycle_index;while(scanf("%d",&cycle_index)!=EOF){while(cycle_index--){int a,b,c;scanf("%d%d%d",&a,&b,&c);printf("%d\n",Calculate(a,b,c));}}}int Calculate(_int64 base, int index, int c){_int64 k=1;base%=c;while( index>1 ){if(index%2==1){k*=base;k%=c;}index/=2;base*=base;base%=c;}return (int)((k*base)%c);}


怎么说,减少了循环次数,至少不是耗时最多的

偶数:(A)^B=(A*A)^(B/2)

奇数:(A)^B=(A*A)^(B/2)* A

注意小心A*A的时候超过int 的范围

0 0
原创粉丝点击