用程序做数学难题,输出一数组里面的所有可能的情况(具体请看本文)
我弟弟因为上初中,有一道数学难题,所以请大家帮助
有一些数据 01 02 05 08 09 10 11 13 18
请问将这些数据分别组成6个一组,且每组的数据不能相同。请问如何将它找出来?并输出来,就在网页上如何做呢?
例组1:01 02 05 08 09 10
例组2:01 02 05 08 09 11
例组3:01 02 05 08 09 13
.........
请问用程序如何做?
把它做成一个数组以后关键是如何取出数呢?
希望那位朋友能写出具体的程序
谢谢
<script runat="server">
sub page_load()
dim r as string="01,02,05,08,09,10,11,13,18"
dim MyArray As System.Array=Split(r,",")
'这里开始小弟就不知道怎么做了
end sub
</script>
问题点数:20、回复次数:20Top
1 楼unixpeter()回复于 2006-05-02 15:48:45 得分 0
!Top
2 楼unixpeter()回复于 2006-05-02 17:58:51 得分 0
topTop
3 楼insiderc()回复于 2006-05-02 18:59:57 得分 0
你不会是求彩票号吧Top
4 楼insiderc()回复于 2006-05-02 19:06:24 得分 0
只告诉你方法,代码你自己写
1 从数组中只取5个数据,如01 02 05 08 09 10 11 13 18只要01 02 05 08 09 ,余下(10 11 13 18)的依次组合成6个数据。
2再从数组中只取5个 ,如01 02 05 08 09 10 11 13 18只要02 05 08 09 10 ,余下(11 13 18 01)的依次组合成6个数据。
3依次类推。
这难吗。我帮你连答案都做出来了Top
5 楼insiderc()回复于 2006-05-02 19:12:20 得分 0
你要求所有的话,用穷举法做。Top
6 楼unixpeter()回复于 2006-05-02 19:34:21 得分 0
关键就是您这样取数据不好取啊
是一个变量啊,我说的数据01 02 05 08 09 10 11 13 18是随时要变的啊,也可以多几位,也可以少几位。就是取值的时候不好取啊
比如你看吧
sub GetData()
dim a As string="01,02,05,08,09,10,11,13,18"
dim b as system.array=split(a,",")
for i as integer=0 to b.length-1
'这里怎么取数据啊?
'是这样的吗?
dim temp as string=""
temp=temp & b(i) & "," & b(i+1)& "," & b(i+2)& "," & b(i+3)& "," & b(i+4)& "," & b(i+5)
response.write(temp)
'如果这样的话就不能像您那样取啊,也取不完的
'我这样算出只有几十种可能,而答案是有210个结果。我还想把这个取数值搞动动态的啊,以后随时输入数据组(类似这样的:01,02,05,08,09,10,11,13,18)都随时输出来。
关键是如何取这个值难啊
我还要把每一个数组写入数据库保存起来呢,以后还要查询的。
next i
end subTop
7 楼unixpeter()回复于 2006-05-02 19:35:14 得分 0
楼上的朋友可否讲下“穷举法”是怎么做的呢?程序里面有专门的这样一个关键字声明吗?Top
8 楼unixpeter()回复于 2006-05-02 19:35:50 得分 0
是啊,我就是想选彩票,然后计算一共有多少注呢Top
9 楼insiderc()回复于 2006-05-02 19:43:41 得分 0
我给你求了,如果 你中了又不会给我个百把万Top
10 楼unixpeter()回复于 2006-05-02 20:57:00 得分 0
我算出来的号又不一定是中奖号,我只是在算,一共有多少注。我有底儿啊
太难搞啦!Top
11 楼unixpeter()回复于 2006-05-02 20:58:23 得分 0
就算帮帮忙是怎么算出来的啊?
我用数组老是求不出来,主要是动态的,要是静态的都好算呢Top
12 楼insiderc()回复于 2006-05-02 23:21:26 得分 0
上面数组本来就不是动的,怎么不好算咧,一个一个循环的取就行了Top
13 楼insiderc()回复于 2006-05-02 23:23:50 得分 0
建议你用C或是C++写算了速度快些Top
14 楼unixpeter()回复于 2006-05-03 08:58:10 得分 0
具体怎么写啊?动态的就只能取到数据组的长度
比如
string DynamicData="01,02,03,04,05,06,07,08,09,10,11"
System.Array DynamicArray =split(dynamicdata,",")
response.write(DynamicArray.Length)
'result=11
for(integer i=0;i<11;i++){
//这里怎么取啊?
}Top
15 楼unixpeter()回复于 2006-05-03 09:01:20 得分 0
大家帮帮忙嘛,我只是想算一些数据好买双色球,如果用手来写,可能会写掉一些数据,程序就能准确的算出来.Top
16 楼unixpeter()回复于 2006-05-03 10:25:35 得分 0
Private Sub page_load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim TotalNumber As String = "01,02,03,04,05,06,07,08,09,10"
Dim Arrays As System.Array = Split(TotalNumber, ",")
For i As Integer = 0 To Arrays.Length - 1
If i <= Arrays.Length - 6 Then
Response.Write(Arrays(i) & "," & Arrays(i + 1) & "," & Arrays(i + 2) & "," & Arrays(i + 3) & "," & Arrays(i + 4) & "," & Arrays(i + 5) & "<br />")
Else
Dim k As Integer = 0
Dim n As Integer = 0
Dim temp As String = ""
k = Arrays.Length - i
n = 6 - k
For j As Integer = i To Arrays.Length - 1
temp = temp & Arrays(j) & ","
Next j
For m As Integer = 0 To n - 1
temp = temp & Arrays(m) & ","
Next m
temp = Left(temp, Len(temp) - 1)
Response.Write(temp & "<br />")
End If
Next i
End Sub
这段程序只能算出十种可能,救命啊Top
17 楼shrinerain(圣影雨)回复于 2006-05-03 11:01:39 得分 0
任何一本算法书里面,都会有这道基础入门题。
在算法中的地位相当于程序设计的Hello,world。
用递规解决Top
18 楼unixpeter()回复于 2006-05-03 11:04:05 得分 0
朋友可否帮小弟写一段代码呢?Top
19 楼billmo1986(潘安+宋玉)回复于 2006-05-03 19:59:49 得分 0
我想想做做Top
20 楼unixpeter()回复于 2006-05-04 20:45:42 得分 0
嗯Top




