数学好的兄弟们帮看下,怎么算啊。

Padingsten-avatar

Padingsten

2022-05-25T05:54:07+00:00

[s:ac:茶]最近研究大乐透呢。
1到35这些数,
任意5个数组合,
加起来和值85的有多少注?
怎么计算啊,兄弟们,
中了发红包。
oShaftaH-avatar

oShaftaH

[quote][tid=32042810]Topic[/tid] Post by [uid=36045743]机智的詹姆斯[/uid] (2022-05-25 13:56):

[s:ac:茶]最近研究大乐透呢。
1到35这些数,
任意5个数组合,
加起来和值85的有多少注?
怎么计算啊,兄弟们,
中了发红包。[/quote]你先告诉我为什么和要等于85
Platical-avatar

Platical

搁这出算法题是吧[s:ac:哭笑]
Bamboozle3-avatar

Bamboozle3

可以重复么?
qjbeucs-avatar

qjbeucs

同问为啥要和值85
memes united-avatar

memes united

[s:ac:哭笑]自己的算法题自己做。

[s:ac:哭笑]答案我告诉你是:5772种组合。
懒得优化,时间复杂度我不管了[s:ac:哭笑]
Excel宏代码 ...
Sub 计算()
Dim trisum, currsum
Dim i, j, k, x, y
Dim m
Dim count

count = 0
m = 1
Range("B:B").ClearContents

trisum = Application.InputBox("输入五个数的和", Default:=85, Type:=1)

For i = 1 To 35 - 4
For j = i + 1 To 35 - 3
For k = j + 1 To 35 - 2
For x = k + 1 To 35 - 1
For y = x + 1 To 35
currsum = Range("A" & i).Value + Range("A" & j).Value + Range("A" & k).Value + Range("A" & x).Value + Range("A" & y).Value

If currsum > trisum Then
Exit For
End If

If currsum = trisum Then
Range("b" & m).Value = Range("A" & i) & "+" & Range("A" & j) & "+" & Range("A" & k) & "+" & Range("A" & x) & "+" & Range("A" & y)
m = m + 1
count = count + 1
End If
Next y
Next x
Next k
Next j
Next i

MsgBox "共有 " & count & "个满足条件的组合"
End Sub
第一列输入1-35,选中第二列B1执行宏就完了,B列会显示出来所有结果,几秒就算完了也用不着优化。
你要有别的想算的自己改数字就完了
[img]https://img.nga.178.com/attachments/mon_202205/25/-7Q17s-guwrK2iToS8u-hd.jpg[/img]
dradik-avatar

dradik

懒得动脑子,穷举了一下

counts=0;
for x1=1:35
for x2=(x1+1):35
for x3=(x2+1):35
for x4=(x3+1):35
for x5=(x4+1):35
counts=counts+(x1+x2+x3+x4+x5==85);
end
end
end
end
end

结果是5772
Akiel Koh-avatar

Akiel Koh

暴力穷举一下不难
啊把电脑卡死了[s:ac:喷]
[img]https://img.nga.178.com/attachments/mon_202205/25/-7Q17s-hs4qK1tT3cSsg-lc.jpg[/img]

880131个 楼上和我谁错了是js不能这么去重吗
gladass-avatar

gladass

六楼七楼像极了leetcode评论区[s:ac:哭笑]
Ultimut-avatar

Ultimut

6楼、7楼要打架了?
Vinsmoke666-avatar

Vinsmoke666

[quote][pid=613188496,32042810,1]Reply[/pid] Post by [uid=62855938]HashTag002FA7[/uid] (2022-05-25 15:26):

暴力穷举一下不难
啊把电脑卡死了[s:ac:喷]
[img]https://img.nga.178.com/attachments/mon_202205/25/-7Q17s-hs4qK1tT3cSsg-lc.jpg[/img]

880131个[/quote]你这个肯定不对,因为大乐透每个数不会重复的。
zombie puppy-avatar

zombie puppy

不可重复的话5772,可以重复的话9169
[img]https://img.nga.178.com/attachments/mon_202205/25/-7Q17s-er75K25T3cSsg-i6.jpg[/img]
Padingsten-avatar

Padingsten

[quote][pid=613180355,32042810,1]Reply[/pid] Post by [uid=37746409]永远de稻草[/uid] (2022-05-25 14:53):

你先告诉我为什么和要等于85[/quote]因为主任告诉我了 今天和值就是85
Thiccy Niccy-avatar

Thiccy Niccy

[quote][pid=613243301,32042810,1]Reply[/pid] Post by [uid=36045743]机智的詹姆斯[/uid] (2022-05-25 19:01):

因为主任告诉我了 今天和值就是85[/quote]艹真的假的,祝你好运,中了v我50[s:ac:茶]
KwesiV2-avatar

KwesiV2

[quote][pid=613243301,32042810,1]Reply[/pid] Post by [uid=36045743]机智的詹姆斯[/uid] (2022-05-25 19:01):

因为主任告诉我了 今天和值就是85[/quote]你这个主任是干什么的主任[s:ac:哭笑][s:ac:哭笑]