Java 语言
1. Write a recursive method that returns the number of 1‟s in the binary representation of N. Use the fact that is equal to the number of 1‟s in the representation of N/2, plus 1, if N is odd.
public static int NumberOfN(int n){
if(n == 1){
return 1;
}else if(n % 2 == 0){
return NumberOfN(n / 2);
}else{
return NumberOfN((n - 1) / 2) + 1;
}
}
2. Write the routines wise the following declarations:
public void permute( String str );
private void permute( char [ ] str, int low, int high )
The first routine is a driver that calls the second and prints all the
permutations of the characters in String str. If str is “abc”, then the strings that are output are abc, acb, bac, bca, cab,and cba. Use recursion for the second routine.
调用方法省略
private static void permute(char[ ] list , int low, int high) {
int i;
char t;
if (low == high) {
for (i = 0; i <= high; i++) {
System.out.print(list[i]);
}
}else {
for (i = low; i <= high; i++) {