【程序43】
题目:求0—7所能组成的奇数个数。
public class Test43 { /**
* 【程序43】 题目:求0—7所能组成的奇数个数。
*
* 分析:先考虑0-7这8个数字在每种位数能组成多少不同的奇数 1.1位数:4个
* 2.2位数:6*4个(排列组合思想)·····
* 3.3位数:6*6*4··········
*
* */ public static void main(String[] args) {
// 定义一个数组,里面的元素是每种位数的数字包含奇数的个数,比如2位数里面可以有7*7种奇数,count[1] = 6*4;
int[] count = new int[8];
//1位数中有4个奇数
count[0] = 4;
//2位数中奇数的算法: 个位上有4种可能(1,3,5,7);十位上有6种可能(当个位为1时)
count[1] = 6*4;
// 循环控制i位数有几种可能的奇数,能组成奇数的个数为数组的一个元素,从3位数开始呈现规律性阶乘
for (int i = 2; i < 8; i++) { count[i] = count[i - 1] * (8 - i);
} // 计算数组中所有元素的和,也就是所有情况的奇数个数
int sum = 0;
for (int i = 0; i < 8; i++) {
sum += count[i];
} System.out.println(sum);
}
}
题目:求0—7所能组成的奇数个数。
public class Test43 { /**
* 【程序43】 题目:求0—7所能组成的奇数个数。
*
* 分析:先考虑0-7这8个数字在每种位数能组成多少不同的奇数 1.1位数:4个
* 2.2位数:6*4个(排列组合思想)·····
* 3.3位数:6*6*4··········
*
* */ public static void main(String[] args) {
// 定义一个数组,里面的元素是每种位数的数字包含奇数的个数,比如2位数里面可以有7*7种奇数,count[1] = 6*4;
int[] count = new int[8];
//1位数中有4个奇数
count[0] = 4;
//2位数中奇数的算法: 个位上有4种可能(1,3,5,7);十位上有6种可能(当个位为1时)
count[1] = 6*4;
// 循环控制i位数有几种可能的奇数,能组成奇数的个数为数组的一个元素,从3位数开始呈现规律性阶乘
for (int i = 2; i < 8; i++) { count[i] = count[i - 1] * (8 - i);
} // 计算数组中所有元素的和,也就是所有情况的奇数个数
int sum = 0;
for (int i = 0; i < 8; i++) {
sum += count[i];
} System.out.println(sum);
}
}