package cn.myAlgorithm;
//求0—7所能组成的奇数个数
//组成1位数是4个。
//组成2位数是6*4个。
//组成3位数是6*6*4个。
//组成4位数是6*6*5*4个。
//组成5位数是6*6*5*4*4个。
//组成6位数是6*6*5*4*3*4个。
//组成7位数是6*6*5*4*3*2*4个。
//组成8位数是6*6*5*4*3*2*1*4个。
class Odd07 {
public static int oddNum(int num) {
int sum = 0;
for (int i = 1; i <= num + 1; i++) {
if (i == 1) {
sum += (num + 1) / 2;
} else if (i == 2) {
sum += (num - 1) * (num + 1) / 2;
} else {
int multi = (num - 1) * (num + 1) / 2;
for (int j = num - 1; j > num - i + 1; j--) {
multi *= j;
}
sum += multi;
}
}
return sum;
}
public static void main(String[] args) {
System.out.println(oddNum(7));
}
}
结果
46972