AC_a^b
Posted gcter
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AC_a^b相关的知识,希望对你有一定的参考价值。
代码:
#include<iostream> using namespace std; int main() int a, b, p; cin >> a >> b >> p; int res = 1 % p; /*思路实际上是每次去用个位去模,然后乘上高位再继续模*/ while (b) if (b & 1)//个位是1 a&1 代表的意思是a和1做二进制的且运算 即看a的最后边那一位是不是1 是1的话 返回1 否则返回0 cout <<"(b & 1)"<< (b & 1) << endl; res = res * 1ll * a % p;//强制转换为long long 形式 cout << "res"<<res << endl; a = a * 1ll * a%p; //十位 cout <<"a= "<< a << endl; b >>= 1;//个位去掉 cout << res << endl; return 0;
以上是关于AC_a^b的主要内容,如果未能解决你的问题,请参考以下文章
为啥是“a^=b^=a^=b;”不同于“a^=b;b^=a;a^=b;”?
1.python的 a,b=b,a+b 和 a=b b=a+b 的区别