快速幂

来源:互联网 发布:万方数据库论文查重 编辑:程序博客网 时间:2024/06/16 23:09

快速幂是用来解决A^B mod C问题的。其时间复杂度可达到 logn

运用定理:积的取余等于取余的积的取余。(此代码就是再此基础上的)

#include<iostream>#include<stdio.h>typedef long long ll;using namespace std;int main(){    ll a,b,c;    scanf("%I64d%I64d%I64d",&a,&b,&c);    ll x=a%c,y=1;    while(b>0){        if(b%2==1)            y=(y*x)%c;        x=(x*x)%c;        b=b/2;    }    printf("%I64d",y);    return 0;}


1 0
原创粉丝点击