当前位置: 代码迷 >> 综合 >> 编写一个递归方法,它返回数N的二进制表示中1的个数
  详细解决方案

编写一个递归方法,它返回数N的二进制表示中1的个数

热度:87   发布时间:2023-10-24 12:09:43.0
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);
}


}
  相关解决方案