算法提高 快速幂

来源:互联网 发布:美国进出口贸易数据 编辑:程序博客网 时间:2024/03/29 14:08

算法提高 快速幂
时间限制:1.0s 内存限制:256.0MB
提交此题
问题描述
  给定A, B, P,求(A^B) mod P。
输入格式
  输入共一行。
  第一行有三个数,N, M, P。
输出格式
  输出共一行,表示所求。
样例输入
2 5 3
样例输出
2
数据规模和约定
  共10组数据
  对100%的数据,A, B为long long范围内的非负整数,P为int内的非负整数。

经典的快速幂算法,数论中的常见问题

#include<iostream>using namespace std;int main(){    long long int  a,b,p;    cin>>a>>b>>p;    int  ans=1;    a%=p;    while(b>0)    {        if (b%2==1)            ans=(ans*a)%p;        b/=2;        a=(a*a)%p;    }    cout<<ans;    return 0;}
0 0
原创粉丝点击