C 练习实例83-求0—7所能组成的奇数个数

题目分析

  1. 当个位数为奇数时,这个数为奇数

  2. 当个位数为偶数时,这个数就为偶数

  3. 最高位不能取0

然乎就是排列组合问题了

0-7组成1位数:1 3 5 7 4个

0-7组成2位数:十位数可选任意1-7的数,个位数只能选1 3 5 7 7*4个

0-7组成3位数:百位数可选任意1-7的数,十位数可选任意0-7的数,个位数只能选1 3 5 7​​​​​​ 7*8*4个

0-7组成4位数:7*8*8*4个

......

0-7组成8位数:7*8^6*4个

cpp 复制代码
#include <stdio.h>
#include <math.h>
int main()
{
	int num=4,i=1,sum=4;//个数 位数 个数和
	printf("%d位数的奇数个数为%d\n",i,num);
	for(i=2;i<=8;i++){
		num=7*4*(int)pow(8,i-2);
		sum+=num;
		printf("%d位数的奇数个数为%d\n",i,num);
	}
	printf("奇数的总个数为:%d",sum);
	return 0;
}
bash 复制代码
1位数的奇数个数为4
2位数的奇数个数为28
3位数的奇数个数为224
4位数的奇数个数为1792
5位数的奇数个数为14336
6位数的奇数个数为114688
7位数的奇数个数为917504
8位数的奇数个数为7340032
奇数的总个数为:8388608
相关推荐
是苏浙4 分钟前
零基础入门C语言之贪吃蛇的实现
c语言·开发语言·数据结构
弘毅 失败的 mian2 小时前
编译和链接
c语言·经验分享·笔记·编程入门
chenzhou__4 小时前
LinuxC语言文件i/o笔记(第十七天)
linux·c语言·笔记·学习
chenzhou__4 小时前
LinuxC语言文件i/o笔记(第十八天)
linux·c语言·笔记·学习
2301_800399725 小时前
c snprintf sizeof遇到的问题
c语言·stm32
石油人单挑所有6 小时前
C语言知识体系梳理-第一篇
c语言·开发语言
oioihoii7 小时前
C/C++混合项目中的头文件管理:.h与.hpp的分工与协作
java·c语言·c++
彷徨而立8 小时前
【C/C++】不能在派生类的构造函数初始化列表中直接初始化属于基类的成员变量
c语言·c++
@宁兰8 小时前
算法实现总结 - C/C++
c语言·c++·算法
cs麦子9 小时前
C语言--详解--指针--下
c语言·数据结构·算法