用递归算法计算一个自然数的二进制表示中的“1”的个数
程序员文章站
2022-03-11 22:04:43
...
/*
* 计算一个自然数的二进制表示中的“1”的个数
* 用递归算法
*/
public class recursionTest {
public static void main(String[] args) {
for(int i=-100;i<100;i++){
System.out.print("自然数:"+i+" ");
System.out.print("二进制表示:"+Integer.toBinaryString(i)+" ");
System.out.println("包含"+getBinary(i)+"个1");
}
}
public static int getBinary(int num){
if(num==0)
return 0;
if(0==num%2){
return getBinary(num/2);
}else{
return getBinary(num/2)+1;
}
}
}
推荐阅读
-
剑指offer11:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。(进制转换,补码反码)
-
用C语言写一个函数返回参数二进制中1的个数
-
【C语言】输入一个整数,输出该数二进制表示中1的个数(三种方法)
-
一个数二进制表示形式中1的个数
-
算法:计算十进制数字在二进制表示1的个数
-
计算一个数的二进制数中1的个数
-
用C语言写一个函数返回参数二进制中1的个数
-
1002 写出这个数 (20)(20 分) 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10^10
-
平行算法:二进制表示中1的个数
-
【源代码】将一个整数的每位数分解并按逆序放入一个数组中(用递归算法)(C语言实现)...