快速幂 a*b%c
2020.12.30開始學習AcWing算法《算法競賽進階指南》;
在CSDN上傳博客方便復習。
然而這樣寫,如果輸入123456789 0 1
答案就會錯誤,原因是b = 0,不會進入循環,所以要先給ans%c。
AC代碼:
//Wecccccccc //12.30 #include <iostream> using namespace std; typedef long long int ll; int main() {ll a,b,c;cin>>a>>b>>c;ll ans = 1 % c;a %=c;while (b){if (b&1){ans = (ans * a)%c;}a = (a*a)%c;b>>=1;}cout<<ans<<endl;return 0; }總結
- 上一篇: 怎么把中文文件夹名翻译成日语中文名怎么转
- 下一篇: 卡通形象设计三要素