100个馒头分在6个盘子里,每个盘子分的馒头个数都不离6(如16,6,62等),馒头的数可以重复.
[ Last edited by jmz573515 on 2007-5-9 at 05:41 PM ]
[ Last edited by jmz573515 on 2007-5-9 at 05:41 PM ]
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
ccwan发表于: 2007-05-09 13:09
- Sub cc2()
- Dim s As New Collection, i As Long
- For i = 1 To 100
- If i Like "*6*" Then s.Add i, CStr(i)
- Next
- For a = 1 To s.Count
- For b = a To s.Count
- For c = b To s.Count
- For d = c To s.Count
- For e = d To s.Count
- For f = e To s.Count
- If s(a) + s(b) + s(c) + s(d) + s(e) + s(f) = 100 Then Debug.Print s(a) & "+" & s(b) & "+" & s(c) & "+" & s(d) & "+" & s(e) & "+" & s(f) & " = 100"
- Next
- Next
- Next
- Next
- Next
- Next
- End Sub
| 评分人 | 分数 | 时间 |
|---|---|---|
| jmz573515 | +8 | 2007-05-09 17:41 |
For i = 1 To 100-6*5
If instr(i,"6")<>0 then j=j & i & ";"
Next
j=left(j,len(j)-1):s=split(j,";"):m=ubound(s)
for a=0 to m
for b=a to m
for c=b to m
for d=c to m
for e=d to m
for f=e to m
s(a)=cint(s(a)):s(b)=cint(s(b)):s(c)=cint(s(c)):s(d)=cint(s(d)):s(e)=cint(s(e)):s(f)=cint(s(f))
If s(a) + s(b) + s(c) + s(d) + s(e) + s(f) = 100 Then sn=sn & s(a) & "+" & s(b) & "+" & s(c) & "+" & s(d) & "+" & s(e) & "+" & s(f) & " = 100" & vbcrlf
next
next
next
next
next
next
msgbox sn
| 评分人 | 分数 | 时间 |
|---|---|---|
| stornager | +2 | 2007-05-11 20:10 |
6+6+6+6+16+60=100 第1个 - 开始 19:58:32.85
6+6+6+6+60+16=100 第2个 - 用时 19:58:33.10
6+6+6+16+6+60=100 第3个 - 用时 19:58:42.51
6+6+6+16+60+6=100 第4个 - 用时 19:58:43.26
6+6+6+60+6+16=100 第5个 - 用时 19:58:47.12
6+6+6+60+16+6=100 第6个 - 用时 19:58:47.64
6+6+16+6+6+60=100 第7个 - 用时 20:01:46.35
6+6+16+6+60+6=100 第8个 - 用时 20:01:47.09
6+6+16+60+6+6=100 第9个 - 用时 20:02:01.06
6+6+60+6+6+16=100 第10个 - 用时 20:03:13.75
6+6+60+6+16+6=100 第11个 - 用时 20:03:14.26
6+6+60+16+6+6=100 第12个 - 用时 20:03:23.89
……………………
@echo off
setlocal enabledelayedexpansion
echo 正在处理数据...
echo.
echo 此过程超级慢,CPU占用将高达100%%,请吃顿饭再回来^^_^^
echo.
set begin=%time%
:: 提取数字
for /l %%i in (1,1,5) do set str=!str! %%i6
for /l %%i in (0,1,9) do set str=!str! 6%%i
set str=6 %str%
for %%i in (%str%) do (
for %%j in (%str%) do (
for %%k in (%str%) do (
for %%l in (%str%) do (
for %%m in (%str%) do (
for %%n in (%str%) do (
set expression=%%i+%%j+%%k+%%l+%%m+%%n
set /a sum=!expression!
if !sum! equ 100 set /a num+=1&echo 第!num!条记录:!expression!=100 时间:!time!
)
)
)
)
)
)
echo.
echo 终于完了,快看看花费的时间吧,破记录了吗?^^_^^
echo.
echo 开始时间:%begin%
echo 结束时间:%time%
pause