回 帖 发 新 帖 刷新版面

主题:[讨论]会的来,挑战高智商

我本人对编程一知半解
由于工作需要 现在要把57个字符串 其中任意5个字符串 按照不同的排列组合打印出来。。。汗
可想而知这工作量多么大。。望大虾们给予指导和帮助

醇酸铁红底漆 醇酸磁漆 醇酸系列 醇酸调和漆 醇酸防锈漆 醇酸清漆 醇酸铝粉漆 醇酸稀释剂
氨基磁漆 氨基底漆 氨基固化剂 氨基稀释剂 硝基磁漆 硝基底漆 硝基清漆 硝基稀释剂 
各色氨基平面锤纹漆 各色氨基立体锤纹漆 各色醇酸锤纹漆 丙烯酸清漆 丙烯酸外用磁漆 
丙烯酸底漆 丙烯酸马路划线漆 丙烯酸稀释剂 聚氨酯清漆 聚氨酯磁漆 聚氨酯底漆
聚氨酯稀释剂 丙烯酸聚氨酯清漆 丙烯酸聚氨酯外用清漆 丙烯酸聚氨酯半哑光清漆
丙烯酸聚氨酯外用半哑光清漆 丙烯酸聚氨酯磁漆 丙烯酸聚氨酯外用磁漆 丙烯酸聚氨酯底漆
丙烯酸聚氨酯稀释剂 各色氯化橡胶面漆 氯化橡胶底漆 氯化橡胶稀释剂 环氧底漆 
环氧富锌底漆 环氧云铁中层漆 环氧清漆 各色环氧磁漆 环氧稀释剂 氟碳面漆 氟碳底漆
氟碳稀释剂 高氯化聚乙烯底漆 高氯化聚乙烯中层漆 高氯化聚乙烯面漆 高氯化聚乙烯稀释剂
环氧地坪封闭底漆 环氧地坪中途漆 环氧地坪面漆 聚氨酯地坪面漆 丙烯酸聚氨酯地坪面漆

累死我了

回复列表 (共30个回复)

11 楼

[quote]首先,作为变成问题,在这里实在是太没有技术含量。
其次,你的问题说的不清楚,大家无法回答。
第三,本论坛以帮助互相讨论提高编程水平为宗旨,大多网友不喜欢替人捉刀。
第四,也是最重要的一点,动不动就“高智商”,实在是对大家智力的侮辱。

这里我这种说你的“第二”
1、究竟是“排列”还是“组合”?
2、75个字符串,是原料,你要的产品是多长?[/quote]

可能是我智商太低的缘故,这个问题对我来讲的确是高智商的东西
但是问题我说的很清楚了。。我的目的就是57个字符串中的任意5个字符串 按照不同的顺序组成1个标题(我确实不知道应该较排列还是叫组合)

12 楼

赋值给数组,做个五层循环。

13 楼

这个好像只要需要高CPU,至于智商嘛,嘿嘿,只要不是太白应该就可以做出来了。


近来很无聊,本想“高智商”一把,结果发现只不过是个小学生在求作业,汗啊……

14 楼

[quote]其中任意5个字符串 
最后修改于2009-5-27 8:23:00[/quote]

[quote]发表时间:2009-5-27 8:29:00 
可能是我智商太低的缘故,这个问题对我来讲的确是高智商的东西
但是问题我说的很清楚了。。我的目的就是57个字符串中的任意5个字符串 按照不同的顺序组成1个标题(我确实不知道应该较排列还是叫组合)[/quote]

真以为大家看不懂中文了?
求作业,本来就是的大家最不屑的行为,但至少你也要有点“求”的样子啊

15 楼

[quote][quote]其中任意5个字符串 
最后修改于2009-5-27 8:23:00[/quote]

[quote]发表时间:2009-5-27 8:29:00 
可能是我智商太低的缘故,这个问题对我来讲的确是高智商的东西
但是问题我说的很清楚了。。我的目的就是57个字符串中的任意5个字符串 按照不同的顺序组成1个标题(我确实不知道应该较排列还是叫组合)[/quote]

真以为大家看不懂中文了?
求作业,本来就是的大家最不屑的行为,但至少你也要有点“求”的样子啊
[/quote]


并不是求作业,是我新找到的工作,说实话是为了养家胡口

16 楼

我倒觉得LZ的问题有点难度,当然并不象他说的需要高智商,中等智商也就可以了。
我以前从来没有考虑字符串的排列问题,所以看了LZ的帖子后,花了2个钟头写了一段代码,抛砖引玉吧。
这个代码是对5个任意字符的全排列(组合问题我就没考虑在内了),大家知道,5个字符的全排列应该可以排出5*4*3*2=120个字符串。
在窗体上添加一个列表框、一个文本框、一个按纽。代码如下:


Option Explicit

Private Sub cmd_Click()
Dim z1 As String, z2 As String, z3 As String, z4 As String, z5 As String, z6 As String, z7 As String
Dim st As String, s As String, i As Integer, j As Integer

st = Text1
List1.Clear

For i = 1 To 5   '5个字符的全排列
  z1 = Mid(st, i, 1): z2 = Replace(st, z1, "")
  For j = 1 To 4 '4个字符的全排列
    z3 = Mid(z2, j, 1): z4 = Replace(z2, z3, "")
    s = z4
    Do           '3个字符的全排列
      z5 = Mid(s, 1, 1): z6 = Mid(s, 2)
      z7 = Mid(z6, 1, 1) & z5 & Mid(z6, 2)
      List1.AddItem z1 & z3 & z7
      s = z6 & z5
      List1.AddItem z1 & z3 & s
    Loop Until s = z4
  Next
Next
End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then cmd_Click
End Sub

17 楼

楼上是好人

18 楼

看不懂,看来智商没你高^^

19 楼

[quote]我倒觉得LZ的问题有点难度,当然并不象他说的需要高智商,中等智商也就可以了。
我以前从来没有考虑字符串的排列问题,所以看了LZ的帖子后,花了2个钟头写了一段代码,抛砖引玉吧。
这个代码是对5个任意字符的全排列(组合问题我就没考虑在内了),大家知道,5个字符的全排列应该可以排出5*4*3*2=120个字符串。
在窗体上添加一个列表框、一个文本框、一个按纽。代码如下:


Option Explicit

Private Sub cmd_Click()
Dim z1 As String, z2 As String, z3 As String, z4 As String, z5 As String, z6 As String, z7 As String
Dim st As String, s As String, i As Integer, j As Integer

st = Text1
List1.Clear

For i = 1 To 5   '5个字符的全排列
  z1 = Mid(st, i, 1): z2 = Replace(st, z1, "")
  For j = 1 To 4 '4个字符的全排列
    z3 = Mid(z2, j, 1): z4 = Replace(z2, z3, "")
    s = z4
    Do           '3个字符的全排列
      z5 = Mid(s, 1, 1): z6 = Mid(s, 2)
      z7 = Mid(z6, 1, 1) & z5 & Mid(z6, 2)
      List1.AddItem z1 & z3 & z7
      s = z6 & z5
      List1.AddItem z1 & z3 & s
    Loop Until s = z4
  Next
Next
End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then cmd_Click
End Sub
[/quote]

谢了

20 楼

秋水,我对题目的理解似乎和你要点差异。讨论一下。
我觉得题目应该是没有提到字符串长度在排列中的作用。仅仅是从这57中高分子有机物种随意循选出5中,排成一列。
所以按照我的看法结果应该是57*56*55*54*53=502452720种。
不知道对不对?
也许…………嘿嘿

我来回复

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