借助 Java a a, 运用递归算法计算整数 n 的二进制表示中 1 的个数
/ * 재귀 알고리즘을 사용하여 정수 n의 이진 표현식 *에서 "1"의 수를 계산하십시오. * 참고 : n이 홀수이면 * 결과는 n/2 + 1의 결과입니다. * 그리고 이 프로그램은 비트 조작을 사용하여 효율성을 향상시키기 위해 * 필요하지는 않지만, 내가 생각하는 아이디어는 좋다고 생각합니다. *이 프로그램은 Sysu 기숙사의 2015-5-4에 Zewang Zhang이 징수합니다. */public class acculateNumberInbinaryExpression {// main method. public static void main (string [] args) {// 예를 들어, n을 13에 동일하게 만들면 결과는 3 system.out.println (numofeven (13))을 보여줍니다. // 예를 들어, n을 128에 동일하게 만들고 결과는 1 System.out.println (numofeven (128))을 보여줍니다. } // numofeven의 정적 메소드는 재귀 방법입니다. public static int numofeven (int x) {// 재귀 기반. if (x == 0) {return 0; } // X가 홀수 인 경우. else if (x%2! = 0) {return numofeven (x >> 1) +1; } // x가 0을 제외하고 {else {while (x%2 == 0) {x = (x >> 1); } return numofeven (x); }}}
짐
public int a (int i) {if (i == 0 || i == 1) 반환 i; 반환 i%2+a (i/2);}
以上所述就是本文的全部内容了, 希望大家能够喜欢。