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
相关推荐
weixin_4460235617 分钟前
C语言printf函数format参数输出格式及type、flags规定详解
c语言·详解·printf函数·格式参数·输出格式
算法鑫探1 小时前
算法中的二分法(二分查找)详解及示例
c语言·数据结构·算法·新人首发
艾莉丝努力练剑1 小时前
【Linux加餐】mmap文件映射
linux·运维·服务器·c语言·c++·学习
叶子野格1 小时前
《C语言学习:编程例题》8
c语言·开发语言·c++·学习·算法·visual studio
HockerF2 小时前
cpu原理到c/c++指针
c语言·c++
handler013 小时前
Linux基础知识(1)
linux·服务器·c语言·开发语言·数据结构·c++
yashuk3 小时前
C语言实现PAT习题题解及算法学习笔记,附SQLite介绍
c语言·sqlite·开源项目·算法学习·pat习题
良木生香3 小时前
【C++ 初阶】:内存管理的迭代革新——从malloc/free 到 new/delete 的时代更迭
c语言·开发语言·c++
code_li3 小时前
▍Type-C 不等于 Type-C,是看起来已经「统一」了
c语言·开发语言·type-c
CHANG_THE_WORLD3 小时前
C 语言的 `fread` 与 C++ 的 `ifstream::read` 区别及设计哲学
java·c语言·c++