Advertisement
Guest User

Untitled

a guest
Jun 30th, 2016
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.67 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. typedef long long int ll;
  3. using namespace std;
  4. map<ll,ll>dp;
  5. int solve(ll b,ll n){
  6. if(n==0)return 1;
  7. if(n==1)return 2;
  8. if(dp[n]!=0)return dp[n];
  9. if(n%2==0){
  10. ll p=solve(b,n/2);
  11. ll ans=(p*p)%33554431;
  12. return dp[n]=ans;
  13.  
  14. }
  15. else {
  16. ll p=(b*solve(b,n-1))%33554431;
  17. ll ans=p;
  18. return dp[n]=ans;
  19. }
  20. }
  21. int main()
  22. {
  23. ios_base::sync_with_stdio(0);
  24. cin.tie(nullptr);
  25. int t,l=1;
  26. scanf("%d",&t);
  27. while(t--)
  28. { //memset(&dp,-1,sizeof(dp));
  29. ll n;
  30. scanf("%lld",&n);
  31. ll ans=solve(2,n+1);
  32. printf("Case %d: %lld\n",l++,ans-1);
  33. dp.clear();
  34. }
  35. return 0;
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement