文章

67

粉丝

207

获赞

29

访问

36.5k

头像
幂次方 题解:
P1017 贵州大学机试题
发布于2024年1月4日 17:06
阅读数 867

//快速幂算法
//233333
#include <iostream>
using namespace std;
int main(){
    long long a,b,sum=1;
    cin >> a >>b;//这里相当于a^b 
    while(b)// 以3^10为例    10%2=0--->3^10=(9)^5 --->5%2==1 --->3^2*(81)^2--->3^2*(81^2)^1---->3^2*81^2
    {
        if(b%2==1){//b是奇数的时候,把底数提出来

            sum=sum*a%233333; //这里用到 (a*b)%233333==(a%233333*b%233333)%233333

        }
        a=(a*a)%233333;//是偶数的时候除了不把底数提出来,剩下对指数的操作都一样
        b=b/2;
    }

    cout << sum;
  //  system("pause");
    return 0;

}

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发