package Homework;
import java.util.Scanner;
public class Recursion {
/**功能:编写一个递归方法,它返回数N的二进制表示中1的个数
* 算法:如果N是奇数,那么其1的个数等于N/2的二进制表示中1的个数加1
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
int n =input.nextInt();
int sum = recursion(n);
System.out.println(sum);
}
public static int recursion(int n){
if(n<2){
return n;
}
return n%2+recursion(n/2);
}
}
import java.util.Scanner;
public class Recursion {
/**功能:编写一个递归方法,它返回数N的二进制表示中1的个数
* 算法:如果N是奇数,那么其1的个数等于N/2的二进制表示中1的个数加1
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
int n =input.nextInt();
int sum = recursion(n);
System.out.println(sum);
}
public static int recursion(int n){
if(n<2){
return n;
}
return n%2+recursion(n/2);
}
}