题解 | #求int型正整数在内存中存储时1的个数#
求int型正整数在内存中存储时1的个数
http://www.nowcoder.com/practice/440f16e490a0404786865e99c6ad91c9
栈
import java.util.Scanner;
import java.util.Stack;
/**
* @author lymili
* @Date 2022/4/2 16:14
* @Version 1.0
*/
public class Main {
public static void main(String[] args) {
Stack<Integer> stack = new Stack<>();
int number = 0;
Scanner scanner = new Scanner(System.in);
number = scanner.nextInt();
int minPrime = 2;
while ((number / minPrime) != 0) {
stack.add(number % minPrime);
number = number / minPrime;
}
stack.add(number);
// for (int data : stack){
// System.out.println(data);
// }
int count = 0;
for (int data : stack) if (data == 1) count++;
System.out.println(count);
}
}
// 输入一个 int 型的正整数,计算出该 int 型数据在内存中存储时 1 的个数。