April Fools Day Contest 2016 D. Rosetta Problem

小咪咪 2021-09-16 17:56 147阅读 0赞

题解:
**网友出的什么题目.jpg
四种没什么人会的语言,brainfuck,Malbolge,Piet,Befunge
题目意思就是:Print number of ones in base 8 notation of a

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define rep(i,a,n) for (int i=a;i<n;i++)
  4. #define per(i,a,n) for (int i=n-1;i>=a;i--)
  5. #define pb push_back
  6. #define mp make_pair
  7. #define all(x) (x).begin(),(x).end()
  8. #define fi first
  9. #define se second
  10. #define SZ(x) ((int)(x).size())
  11. typedef vector<int> VI;
  12. typedef long long ll;
  13. typedef pair<int,int> PII;
  14. const ll mod=1000000007;
  15. ll powmod(ll a,ll b) { ll res=1;a%=mod; assert(b>=0); for(;b;b>>=1){ if(b&1)res=res*a%mod;a=a*a%mod;}return res;}
  16. ll gcd(ll a,ll b) { return b?gcd(b,a%b):a;}
  17. int n;
  18. int main(int argc, char const *argv[])
  19. {
  20. cin>>n;
  21. ll ans = 0;
  22. while(n)
  23. {
  24. if(n%8==1)ans++;
  25. n/=8;
  26. }
  27. cout<<ans<<endl;
  28. return 0;
  29. }

发表评论

表情:
评论列表 (有 0 条评论,147人围观)

还没有评论,来说两句吧...

相关阅读