Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- typedef long long int ll;
- using namespace std;
- map<ll,ll>dp;
- int solve(ll b,ll n){
- if(n==0)return 1;
- if(n==1)return 2;
- if(dp[n]!=0)return dp[n];
- if(n%2==0){
- ll p=solve(b,n/2);
- ll ans=(p*p)%33554431;
- return dp[n]=ans;
- }
- else {
- ll p=(b*solve(b,n-1))%33554431;
- ll ans=p;
- return dp[n]=ans;
- }
- }
- int main()
- {
- ios_base::sync_with_stdio(0);
- cin.tie(nullptr);
- int t,l=1;
- scanf("%d",&t);
- while(t--)
- { //memset(&dp,-1,sizeof(dp));
- ll n;
- scanf("%lld",&n);
- ll ans=solve(2,n+1);
- printf("Case %d: %lld\n",l++,ans-1);
- dp.clear();
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement