在一行上输入一个整数
,代表给定的数字。
在一行上输出一个整数,代表
的二进制表示中
的个数。
10
2
十进制
到
的二进制表示如下:
十进制
等于二进制
;
十进制
等于二进制
;
十进制
等于二进制
;
十进制
等于二进制
;
十进制
等于二进制
;
十进制
等于二进制
;
十进制
等于二进制
;
十进制
等于二进制
;
十进制
等于二进制
;
十进制
等于二进制
。
0
0
import java.util.Scanner;
import java.util.Stack;
public class ShuZiDianDao {
n = int(input()) a = bin(n) b = str(a) print(b.count('1'))
num=int(raw_input("")) num=str(bin(num)) len1=len(num) count=0 for i in range(2,len1): if num[i]=='1': count+=1 print count 下面是C++实现的代码 #include<iostream>using namespace std; int main() { int num = 0; cin >> num; int count = 0; while (num) { count++; num = num&(num - 1); } cout << count << endl; system("pause"); return 0; }
#include<bits/stdc++.h> using namespace std; int main() { unsigned int data; cin >> data; int count = 0; int temp; while(data) { temp = data%2; data /= 2; if(temp == 1) count++; } cout << count << endl; return 0; }
import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNext()){ int num = sc.nextInt(); String str = Integer.toBinaryString(num); str = str.replaceAll("0",""); System.out.println(str.length()); } sc.close(); } }使用java语言,将数字转为二进制字符串之后,一般是遍历字符串,统计1的个数,这里取巧,通过替换0为空字符,剩下的就是1,然后计算二进制字符串的长度。
import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int count = 0; while (n > 0) { count += (n & 1); n >>= 1; } System.out.println(count); } }
System.out.println("数组".split ("1").length);