大數低速冪運算模板(c++)+python大數冪
阿新 • • 發佈:2018-12-20
簡介
自己從大數加法改過來的模板,低速計算n的t次冪,n,t小於等於100速度能夠保證
模板
#include <bits/stdc++.h> using namespace std; string cal(string a,int cs) { string jk=a; string jc=a; reverse(a.begin(),a.end()); for(int k=0;k<cs-1;k++) { for(int i=jk.size();i<a.size();i++) jk='0'+jk; reverse(jk.begin(),jk.end()); int jw=0,n,now; string t=""; for(int i=0;i<a.size();i++) { n=jk[i]+a[i]-'0'-'0'+jw; jw=n/10; now=n%10; t+=char(now+'0'); } if(jw) t+="1"; a=t; jk=jc; } reverse(a.begin(),a.end()); return a; } string qp(int cs,int n) { stringstream s; s<<cs; string a; s>>a; string t; for(int i=0;i<n;i++) { t=cal(a,cs); //cout<<t<<"\n"; a=t; } return a; } int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int t; cin>>t; while(t--) { int n,cs; cin>>cs>>n; if(n) cout<<qp(cs,n-1)<<endl; else cout<<1<<endl; } }
python版本(速度較快)
t=int(input())
for i in range(t):
a,b=map(int,input().split())
print(a**b)