完整代码:
// 求0—7所能组成的奇数个数
//根据题意,应该是没有重复数字的,所以最大只能为八位数
//如果可以重复的话,那么位数就限制不了,然后奇数的个数就是无穷大了
#include <stdio.h>
int main() {
int count = 0;
// 一位数
count = 4; // 1,3,5,7 个位必须保证为奇数
// 两位数
count += 6 * 4; // 排列问题,个位从4个奇数中选一个,十位不能为0,不能与个位相同,还有6种选择
// 三位数
count += 6 * 6 * 4;
// 四位数
count += 6 * 6 * 5 * 4;
// 五位数
count += 6 * 6 * 5 * 4 * 4;
// 六位数
count += 6 * 6 * 5 * 4 * 3 * 4;
// 七位数
count += 6 * 6 * 5 * 4 * 3 * 2 * 4;
// 八位数
count += 6 * 6 * 5 * 4 * 3 * 2 * 1 * 4;
printf("0-7所能组成的奇数个数:%d\n", count);
return 0;
}
运行截图: