回 帖 发 新 帖 刷新版面

主题:向思维挑战!!如何实现这样一个想法?

有表如下:
   期数    百 十  个
      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个回复)

沙发

晕,这是什么题?一定也不严谨,  你的1\2\3条之间就是矛盾的,无聊~~~

板凳

怎么不严谨?你看清楚一帮我指出来一下!

3 楼

我知道你题目的意思了。但是你想让我们用程序做出什么结果出来????

4 楼

很简单呀!在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 楼

高明,谢谢!

6 楼

怎么用简单的办法把它表示出来:
 如找出1-3期内出现的不重复的百位数
   select distinct 百 from tblMyTab where 期数 <= 3


  结果为:(3,6)

我来回复

您尚未登录,请登录后再回复。点此登录或注册