Advertisement
Guest User

Untitled

a guest
Jun 28th, 2017
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.27 KB | None | 0 0
  1. #include<iostream>
  2. #include<vector>
  3. #define PB push_back
  4. using namespace std;
  5. typedef vector<int> lll;
  6. typedef long long ll;
  7. istream& operator >>(istream& stream,lll& a){
  8. string s;stream>>s;
  9. for(int i=s.size()-1;i>=0;i--)a.PB(s[i]-'0');
  10. return stream;}
  11. ostream& operator <<(ostream& stream,lll a){
  12. for(int i=a.size()-1;i>=0;i--)stream<<a[i];
  13. return stream;}
  14. bool operator >(lll a,lll b){
  15. if(a.size()>b.size())return true;
  16. if(a.size()<b.size())return false;
  17. for(int i=a.size()-1;i>=0;i--){
  18. if(a[i]>b[i])return true;
  19. if(a[i]<b[i])return false;}
  20. return false;}
  21. lll operator +(lll a,lll b){
  22. lll c;int i,r=0;
  23. for(i=0;i<a.size()||i<b.size();i++){
  24. if(i<a.size())r+=a[i];
  25. if(i<b.size())r+=b[i];
  26. c.PB(r%10); r/=10;}
  27. if(r)c.PB(r);
  28. return c;}
  29. lll operator -(lll a,lll b){
  30. lll c;int i,r=0;
  31. for(i=0;i<a.size();i++){
  32. r+=a[i];
  33. if(i<b.size())r-=b[i];
  34. if(r<0){c.PB(r+10);r=-1;}
  35. else{c.PB(r%10);r=0;}}
  36. while(c.size()>1&&c.back()==0)c.pop_back();
  37. return c;}
  38. lll operator *(lll a,ll b){
  39. lll c;int i;ll r=0;
  40. if(b==0){c.PB(0);return c;}
  41. for(i=0;i<a.size();++i){
  42. r+=a[i]*b;
  43. c.PB(r%10);r/=10;}
  44. while(r){c.PB(r%10);r/=10;}
  45. return c;}
  46. int main(){
  47. ll n,z;
  48. cin>>z>>n;
  49. lll a(1,z);
  50. while(n>1){n--;a=a*z;}
  51. cout<<a;
  52. return 0;}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement