主题:向思维挑战!!如何实现这样一个想法?
xiulin
[专家分:200] 发布于 2007-06-29 16:55:00
有表如下:
期数 百 十 个
1 3 5 8
2 3 7 9
3 6 8 1
4 3 7 9
5 3 3 2
6 5 8 4
实现想法如下:
1。找出1-3期内出现的百位号,结果为:3,6
2。找出6期内没出现的百位号,结果为:0,1,2,4,7,8,9
3。找出4-6期出现的百位号,结果本为3,5,但因3在1-3期内已出,所以只有5。
上述三种情况的选出的所有的数字结果为:0,1,2,3,4,5。6,7,8,9
[em10][em10][em12][em18][em1]
回复列表 (共6个回复)
沙发
冰封星云 [专家分:2260] 发布于 2007-06-30 23:17:00
晕,这是什么题?一定也不严谨, 你的1\2\3条之间就是矛盾的,无聊~~~
板凳
xiulin [专家分:200] 发布于 2007-07-01 15:46:00
怎么不严谨?你看清楚一帮我指出来一下!
3 楼
guoliaowei [专家分:0] 发布于 2007-07-01 23:25:00
我知道你题目的意思了。但是你想让我们用程序做出什么结果出来????
4 楼
jianfeihua [专家分:780] 发布于 2007-07-02 08:49:00
很简单呀!在SQL中可以全部搞定。
1、先按照上面的数据结构建立2个表。
Create table tblMyTab (
期数 int ,
百 int,
十 int,
个 int
)
Create table tbltmp
val int
这个表内输入记录是0-9
2、对应你的第一个问题:
找出1-3期内出现的不重复的百位数
select distinct 百 from tblMyTab where 期数 <= 3
3、找出6期内没出现的百位号
select val from from tbltmp where not val in (
select distinct 百 from tblMyTab where 期数 <= 6
)
4、找出4-6期出现的百位数且出现的百位数不包含在1-3期内
select distinct 百 from tblMyTab where (期数 > 3 and 期数 < 7)
and not 百 in (select distinct 百 from tblMyTab where 期数 <= 3)
ok,你剩下要做的只是用Delphi作个界面把数据显示出来就行。
5 楼
xiulin [专家分:200] 发布于 2007-07-06 17:11:00
高明,谢谢!
6 楼
xiulin [专家分:200] 发布于 2007-07-06 17:40:00
怎么用简单的办法把它表示出来:
如找出1-3期内出现的不重复的百位数
select distinct 百 from tblMyTab where 期数 <= 3
结果为:(3,6)
我来回复