题解 HJ15| #求int型正整数在内存中存储时1的个数#
求int型正整数在内存中存储时1的个数
https://www.nowcoder.com/practice/440f16e490a0404786865e99c6ad91c9
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int a=in.nextInt(); int cout=0; while(a>0){ if(a%2!=0)cout++; a=a/2; } System.out.print(cout); } }
定义一个int变量去接受传递的数字,然后定义一个int变量的计数器
十进制转化为二进制有多少1,只需要看十进制余2为1还是0即可,每次除完看余数,在用商接着运算
while(a>0){
if(a%2!=0)cout++;
a=a/2;
}
最后输出
System.out.print(cout);
#华为od题库#华为OD笔试库讲解,JAVA版 文章被收录于专栏
随便发发而已