- 一、网址链接
- 二、题目描述
- ①描述
- ②输入描述
- ③输出描述
- ④示例一
- ⑤示例二
- 三、代码实现
- ①Java代码实现
- ②C++代码实现
- ③C代码实现
牛客----https://www.nowcoder.com/ta/huawei
二、题目描述 ①描述输入一个 int 型的正整数,计算出该 int 型数据在内存中存储时 1 的个数。数据范围:保证在 32 位整型数字范围内②输入描述
输入一个整数(int类型)③输出描述
这个数转换成2进制后,输出1的个数④示例一
输入: 5⑤示例二
输出: 2
输入: 0三、代码实现 ①Java代码实现
输出: 0
import java.util.Scanner;
public class Main {
public static void main (String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
int n = scanner.nextInt();
char[] num = Integer.toBinaryString(n).toCharArray();
int count = 0;
for (int i = 0;i < num.length; i++) {
if ( num[i] == '1') {
count++;
}
}
System.out.println(count);
}
}
}
②C++代码实现
#include#include using namespace std; int main() { int n; cin>>n; bitset<32>b(n); cout< ③C代码实现 #includeint main () { int n,count=0; scanf("%d",&n); while (n != 0) { if (n%2==1) { count++; } n/=2; } printf("%d",count); return 0; }



