NC200629. Y 老师的乐高小镇
描述
输入描述
多组输入
每行一个整数 k (1<=k<=1e15)
输出描述
最少的天数
示例1
输入:
3
输出:
2
说明:
Y 老师两天分别选择第一条街和第二条街C(clang 3.9) 解法, 执行用时: 5ms, 内存消耗: 232K, 提交时间: 2020-01-05 14:51:01
#include<stdio.h> int main() { long long int n; int m = 0; while (scanf("%lld", &n) != EOF) { while (n > 0) { if (n & 1) { m++; } n >>= 1; } printf("%d\n", m); m = 0; } }
C++14(g++5.4) 解法, 执行用时: 19ms, 内存消耗: 488K, 提交时间: 2020-04-11 12:43:34
#include <bits/stdc++.h> using namespace std; int main() { long long k,ans; while(cin>>k) { ans=0; while(k) { ans+=(k%2); k/=2; } cout<<ans<<endl; } return 0; }
C++11(clang++ 3.9) 解法, 执行用时: 28ms, 内存消耗: 396K, 提交时间: 2020-01-08 19:01:36
#include<bits/stdc++.h> using namespace std; typedef long long ll; int main(){ ll n; while(cin>>n){ int cnt(0); while(n){ if(n&1) cnt++; n>>=1; } cout<<cnt<<'\n'; } }
Python3(3.5.2) 解法, 执行用时: 95ms, 内存消耗: 3548K, 提交时间: 2020-01-10 19:12:21
while True: try: k=int(input()) n=bin(k)[2:] print(n.count("1")) except: break