DAY 2の分治

来源:互联网 发布:以太网是什么网络 编辑:程序博客网 时间:2024/06/03 06:35


这几天真的很背。作业一堆一堆的压下来,真的做不来及啊啊啊。还要占用我们自习的时间来考一张很无聊的试卷,好无语。。。

今天学了分治,但我现在只会编最基本的。主要是几个循环或者if语句中的关键语句掌握不好。要想好久。不过今天学会了一个快速幂取余,这个是我听懂之后自己会编的一个。


int b,p,k,len;void work(){long long ans=1;    int temp=p, s=b;while(temp!=0){if (temp%2==1)  ans=ans*s%k;  //如果当前二进制位是1,就需要乘2的整次幂。        temp/=2;          s=s*s%k; // 将b的整次幂平方,对应二进制的更高一位的次幂。}  }int main(){cin>>b>>p>>k;b%=k;work();cout<<ans;return 0; }



原创粉丝点击