洛谷 1226_取余运算||快速幂_快速幂

来源:互联网 发布:java的可变参数 编辑:程序博客网 时间:2024/06/04 19:08

题目描述

输入b,p,k的值,求b^p mod k的值。其中b,p,k*k为长整型数。


思路

就是一个快速幂。
没了
1.洛谷用lld
2.要用long long
O(log₂N)


#include <stdio.h>int main(){    long long n,m,x;    scanf("%lld%lld%lld",&n,&m,&x);    long long xx=n,yy=m;    long long t=1;    while (m>0)    {        if (m & 1)            t=(t*n)%x;        n=(n*n)%x;        m>>=1;    }    printf("%lld^%lld mod %lld=%lld\n",xx,yy,x,t);}
1 0
原创粉丝点击