Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- long long dp[50];
- int main()
- {
- long long n;
- scanf("%I64d",&n);
- for (int i=1;i<50;i++)
- dp[i]=2LL*dp[i-1]+(1LL<<(i-1));
- n--;
- long long ans=0;
- for (int i=0;i<50;i++)
- {
- if (n&(1LL<<i))
- ans+=dp[i]+(1LL<<i);
- }
- printf("%I64d",ans);
- }
Add Comment
Please, Sign In to add comment