| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3919 人关注过本帖, 1 人收藏
标题:求0—7所能组成的奇数个数,源程序我看不懂,能不能给我解释一下
只看楼主 加入收藏
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
这是一个排列组合问题,相当与0-7组成的8位数,先排最低位,有1357四个数,个位定下之后,其它位随便填,只要高位不为零即可,如果不可以重复,上面给的程序好象没道理,如果表述的是7个数可以组成两位,三位,四位....八位,所有可能之和,那么仅仅把2位数的高位不能为0又是没道理的;如果数值可以重用那么就不会是到8位数那么少了.希望条件可以写清楚些啊,呵呵

学习需要安静。。海盗要重新来过。。
2007-04-15 09:56
王井玉
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-3-1
收藏
得分:0 
真是高效的算法啊。
2013-03-01 22:54
hellou
Rank: 1
来 自:安徽
等 级:新手上路
帖 子:12
专家分:0
注 册:2013-3-16
收藏
得分:0 
回复 6楼 gsbe1987
你现在懂了没,我也好想知道,给我讲讲吧~要是说不清,我QQ407924691

我编程很差。
2013-03-16 22:19
hellou
Rank: 1
来 自:安徽
等 级:新手上路
帖 子:12
专家分:0
注 册:2013-3-16
收藏
得分:0 
回复 11楼 sunkaidong
你好厉害的样子~

我编程很差。
2013-03-16 22:21
hebiaofu
Rank: 2
等 级:论坛游民
帖 子:6
专家分:21
注 册:2013-5-9
收藏
得分:0 
其实这个是因为注释不够,所以不好理解

解释一下就容易明白
首先解释一下原理

数字由0-7,所以是奇数那个位必是为1,3,5,7,其他位任意,特殊的就是最高位不能取0。总结起来就是个位有4种取法,最高位7种,其他位8种
所以n(大于2)位数的奇数个数就是7(最高位)*(8的n-2次方)*4

sum代表的是总共有多少个奇数,s代表的是几位数(例如1位,2位,3位)有多少个奇数
初始时是一位数的情况,也就是1,3,5,7。所以sum = 4,s = 4.
然后循环,因为0-7总共有八个数字,最多组成8位数,同时1位的情况已经确定,所以循环从2开始到8结束
其实知道原理就简单了,我就不一一码字了

2013-05-09 15:33
lxy88129688
Rank: 1
等 级:新手上路
帖 子:12
专家分:5
注 册:2014-9-9
收藏
得分:0 
数字可重复
个位1,3,5,7       4种
一位数:个位4*十位7(十位不为0)
两位数:个位4*十位8*百位7(百位不为0)
。。。。
以此类推
2014-10-27 10:18
快速回复:求0—7所能组成的奇数个数,源程序我看不懂,能不能给我解释一下
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017788 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved