C_逻辑题:0-7所有的奇数

这道C语言逻辑题目要求找出0到7所有可能的奇数组合,易忽视8和9不存在。解决方法包括避免惯性思维,考虑数字位数可变,明确末尾必须是1,3,5,7,最高位只能为7,其余位置有8种选择。" 133250909,20038705,Entity Framework最佳实践:提升.NET数据库性能,"['.NET', '数据库', 'ORM', 'Entity Framework', '性能优化']
摘要由CSDN通过智能技术生成

审题不仔细的人,极容易自作聪明的在77777777范围内去计算奇数的个数。
忽略了数字8,9的缺失。

笨一点的方法是用8个for循环来拼数字,此种做法只需要顾忌最高位不为零的情况即可。

但本题的最佳思路如下:
1,组成的数字不一定非得是8位数,从一位到八位都可以。首先绕过惯性思维这个坑。
2,既然是奇数,那么末尾只能是1,3,5,7。所以个位数所有的可能情况是4。
3,最高位不能为0,所以最高位的选择只能是7。
4,其余位置的选择都可以有8种,这里假设位数为x,所有组合为y,得到如下关系:

x=1    y=4,
x=2,   y=4*7,
x=3,   y=4
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值